summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/main.c
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@ugent.be>2017-08-15 19:30:03 +0200
committerdimitri staessens <dimitri.staessens@ugent.be>2017-08-16 08:18:03 +0200
commitc995538b1c6483996c979df62feee3d79acd0e45 (patch)
tree67fb33f13b02be7b9b65b47957ce5065ebb97411 /src/ipcpd/normal/main.c
parent095c2414425952836e97d88a6dde6f4415725c68 (diff)
downloadouroboros-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/ipcpd/normal/main.c')
0 files changed, 0 insertions, 0 deletions