
10x, sorry for my english
I am not sure what this delay function does.
this function from ${BOOSTDIR}/libs/thread/test/util.inl
scoped_time_lock takes boost::xtime or bool. 4 here is interpreted as "true", not as time.
oops. okey, the new version of my cool program (how i can see event of timeout?) are ///------- COOLPRG timed_mutex mut; #define TIMEOUT 1 #define AUTHTIME 4 void timeout () { timed_mutex::scoped_timed_lock lk (mut, delay(TIMEOUT)); if ( lk.locked ()) cout << "how i can see event of timeout?" << endl; else cout << "okey!" << endl; } std::auto_ptr<timed_mutex::scoped_timed_lock> lock; void auth () { cout << "auth" << endl; boost::thread::sleep ( delay(AUTHTIME)); cout << "auth end" << endl; lock->unlock(); } int main () { lock = (std::auto_ptr<timed_mutex::scoped_timed_lock>) new timed_mutex::scoped_timed_lock (mut,10); thread_group run; run.create_thread ( &auth); run.create_thread ( &timeout); run.create_thread ( &timeout); run.create_thread ( &timeout); run.join_all(); if ( !lock->locked ()) cout << "unlock!" << endl; } ///EOF And result (how i can see event of timeout?): andr@andr> ./coolprg auth okey! okey! okey! auth end unlock! andr@andr> -- andr.ru