Hi, I'm having a problem with mutexes. In one thread T1 I have: while(!end) { /* TTT */ lock lk(mutex); dosomethingquick(); } In another thread T2 I have: void f() { lock lk(mutex); doanotherthingquick(); } I'm sure dosomethingquick returns but T2 can never acquires the mutex. If I had a timer on line /* TTT */ in T1 (sleeps for a millisecond), everything works fine. Can anyone understand such a behavior? Am I doing something wrong here? Thanks, ____________________________ Frederic MAYOT Société Générale - Equity IT 1221 Avenue of the Americas New York, NY 10020 +1 (212) 278-5558 +1 (917) 673-1339 ************************************************************************* This message and any attachments (the "message") are confidential and intended solely for the addressees. Any unauthorised use or dissemination is prohibited. E-mails are susceptible to alteration. Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. *************************************************************************