[Linuxtuples-devel] race condition in dump op
Brought to you by:
wware
From: Bram S. <br...@sa...> - 2006-05-10 11:33:25
|
Hello, To initiate this mailing list: I stumbled upon another race condition. It is less serious, as it only happens when doing a dump operation. What happens is this: For the dump op, the server locks the tspace to create a list of its contents. Then it releases the lock. After the release it sends the tuples. However... when tuples are removed between unlock and sending, their memory can be freed, causing a 'Bad address' in the send() syscall. The fix is to move the YIELDACCESS down (and do it twice: also in early return). I cannot commit to cvs, as cvs is now completely gone: both developer cvs and user cvs are not working. Bram -- Bram Stolk, VR Engineer SARA, Amsterdam. tel +31 20 592 3000 "Windows is a 32-bit extension to a 16-bit graphical shell for an 8-bit operating system originally coded for a 4-bit microprocessor by a 2-bit company that can't stand 1 bit of competition." |