[Linuxtuples-devel] major update cvs tree
Brought to you by:
wware
From: Bram S. <br...@sa...> - 2006-09-06 14:18:18
|
Hi, I did a major update on the cvs tree. >From the ChangeLog: Much more rigorous error checking. Improved logging. Use higher backlog parameter for bind(). Status report on stderr of tuple_server: to use this, set LINUXTUPLES_STATUS environment variable. The server will show the status of all its threads. '-' means no thread 'b' means the thread is blocked on a get/read operation 'a' means the thread tries to get access to the tuple space. 'r' means the thread is in recv() system call. 'p' means the thread is currently putting a tuple in the space. By the way: there is still a race condition on SMP machines. It occurs a lot less than the semaphore version, but it still does every once in a while, in complex environments. It manifests itself in recv()'s that fail, and connections that are closed prematurely. It does not occur on a non-SMP test machine I tried. In the version I checked in, every system call is checked now for return status, which helps robustness. A 1000 iterations of a 26-way ping-pong works flawlessly, even on SMP, and runs in merely a couple of seconds. 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." |