diff options
author | dimitri staessens <dimitri.staessens@ugent.be> | 2017-08-15 19:30:03 +0200 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@ugent.be> | 2017-08-16 08:18:03 +0200 |
commit | c995538b1c6483996c979df62feee3d79acd0e45 (patch) | |
tree | 67fb33f13b02be7b9b65b47957ce5065ebb97411 /src/lib/rib.c | |
parent | 095c2414425952836e97d88a6dde6f4415725c68 (diff) | |
download | ouroboros-c995538b1c6483996c979df62feee3d79acd0e45.tar.gz ouroboros-c995538b1c6483996c979df62feee3d79acd0e45.zip |
irmd, ipcpd: Listen on a dedicated accept() thread
The IRMd and IPCPs will now call accept on their command sockets from
a single thread that will dispatch work to the other threads.
This solves a problem on OS X and FreeBSD where accept() doesn't time
out when setting SO_RCVTIMEO on the socket. Calling kqueue or select()
on that socket to wait for events before calling accept() didn't solve
it since select() or kqueue() might wake up multiple threads, with the
non-working threads again blocked on the accept() on shutdown.
Diffstat (limited to 'src/lib/rib.c')
0 files changed, 0 insertions, 0 deletions