Don't recheck about timeout == 0 during mutex locking
authorThiago Macieira <thiago.macieira@intel.com>
Sat, 11 Aug 2012 12:08:39 +0000 (14:08 +0200)
committerQt by Nokia <qt-info@nokia.com>
Fri, 14 Sep 2012 01:45:50 +0000 (03:45 +0200)
commit870bd84a4ee53ea98fd232da18771b1525dac1a1
treeb4f473f26f944352aeb2874ae61371183b5332d7
parent3acaa648f0ffd03c4695d0be7ed25e73724e4417
Don't recheck about timeout == 0 during mutex locking

If the timeout wasn't zero, it can only become zero if we return from
futex() with a non-timeout reason but subsequently expires while we're
recalculating something.

A side effect is that we try-lock a non-recursive mutex exactly
once. Before this change, we'd fastTryLock() twice even with
timeout == 0.

Change-Id: I0af09fc2a84669a683a843fcf1513203b075dfb7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
src/corelib/thread/qmutex_linux.cpp