client_lock.Unlock();
    flock.Lock();
    while (!done) 
      cond.Wait(flock);
    flock.Unlock();
    client_lock.Lock();