Module Name: src Committed By: pooka Date: Mon Jan 10 19:49:43 UTC 2011
Modified Files: src/lib/librumpclient: rumpclient.c src/lib/librumpuser: rumpuser_sp.c sp_common.c Log Message: A bunch of improvements: * don't hold spc mutex while sending data * use send() for the banner to avoid SIGPIPE in case a client connects and immediately goes away * fix error path locking * use kevent() instead of pollts() in the client. Apparently that is the only sensible way for a library to support both multithreading and signal-reentrancy in a race-free manner. (can I catch all signals with one kevent instead of installing NSIG different ones??) * mark client comm descriptor non-blocking so that clients have better signal-interruptibility (we now sleep in signal-accepting kevent() instead of signal-masked recvfrom()) To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/librumpclient/rumpclient.c cvs rdiff -u -r1.33 -r1.34 src/lib/librumpuser/rumpuser_sp.c cvs rdiff -u -r1.22 -r1.23 src/lib/librumpuser/sp_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.