Am Dienstag, den 26.08.2014, 17:36 -0400 schrieb Rich Felker: > Fixing it should be trivial via the design I mentioned earlier: don't > use a waiter flag like this, but instead offset the initial value of > ref by +1 and a_dec it just before waiting. As in other places, of > course, a wake to an invalid address is possible either way; this is > "fixable" if necessary via FUTEX_WAKE_OP (having the kernel do the > atomic dec after acquiring the futex bin locks). generally it would be nice to have such a lock functionality that takes care of the waiters inside the int itself, this could perhaps be used in other places > > Ok, I'll try to switch to one-step-at-a-time-mode. > > OK. ok, so in a follow up I will send two patches that are the essence of that. It doesn't do the booking from above, let's keep that for later. Jens Gustedt (2): Let the signaler do all work concerning consistency of the list avoid taking _c_lock if we know it isn't necessary src/thread/pthread_cond_timedwait.c | 62 +++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 14 deletions(-) > > > Or, if you don't have time to spend on side projects like test > > > cases, maybe someone else could test it? > > > > Not at the moment. I would prefer to have a C thread implementation by > > the end of the week that we could agree upon. > > Yes, that would be very nice! ok, so I will be turning back to that, and as said that will be a version of C threads that use the POSIX lock structures transparently. Jens -- :: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS ::: :: ::::::::::::::: office Strasbourg : +33 368854536 :: :: :::::::::::::::::::::: gsm France : +33 651400183 :: :: ::::::::::::::: gsm international : +49 15737185122 :: :: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::