Esempio n. 1
0
    bool timed_wait(L& lock, const xtime& xt)
    {
        if (!lock)
            throw lock_error();

        return do_timed_wait(lock.m_mutex, xt);
    }
Esempio n. 2
0
   bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time)
   {
      if (!lock)
            throw lock_exception();

      return do_timed_wait(abs_time, *lock.mutex());
   }
 bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time)
 {
    if(abs_time == boost::posix_time::pos_infin){
       this->wait(lock);
       return true;
    }
    if (!lock)
          throw lock_exception();
    return do_timed_wait(abs_time, *lock.mutex());
 }
Esempio n. 4
0
   bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time, Pr pred)
   {
      if (!lock)
            throw lock_exception();

      while (!pred()){
         if (!do_timed_wait(abs_time, *lock.mutex()))
            return pred();
      }

      return true;
   }
Esempio n. 5
0
    bool timed_wait(L& lock, const xtime& xt, Pr pred)
    {
        if (!lock)
            throw lock_error();

        while (!pred())
        {
            if (!do_timed_wait(lock.m_mutex, xt))
                return false;
        }

        return true;
    }