chiark / gitweb /
admin: Remove locking; new safe client destruction.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 1 Jan 2007 12:52:32 +0000 (12:52 +0000)
commitc511e1f925da3e735fb494d522ae3ae0f17ab9ce
tree53729eb8e5e1bf474cfba45e7bb6b80759638ff7
parent64cf222377512d2cbdc8d750420e11cc5ddecdbd
admin: Remove locking; new safe client destruction.

The locking stuff is fiddly, and prevents cleanup of pending background
operations during destruction.  Instead, we add `destroyed' clients to a
list which we clean up just before going back to select.  This ensures
that they get cleaned up at a safe place, when there aren't functions
threaded on the stack which will be upset by the admin block vanishing
under their feet.
server/admin.c
server/tripe.c
server/tripe.h