]> git.ipfire.org Git - thirdparty/squid.git/commit - src/ipc/Coordinator.h
Support a "shared listen" concept when multiple concurrent processes listen
authorAlex Rousskov <rousskov@measurement-factory.com>
Sun, 2 May 2010 18:49:25 +0000 (12:49 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Sun, 2 May 2010 18:49:25 +0000 (12:49 -0600)
commit0d0bce6a6804adc0baea2b016e63337ab97451fb
tree5601d5fc95acb276231e1e678852d6145d1004b0
parentecfa394fe3bf4ef27d72fcab170bc860cfc142f5
Support a "shared listen" concept when multiple concurrent processes listen
on the same socket. The Coordinator is responsible for opening and caching
listening sockets, using comm_open_listener() parameters supplied by remote
callers. Sendmsg/recvmsg is used to shovel socket descriptors from Coordinator
to remote callers.

If SMP is not enabled, we call the local comm_open_listener() as usual but
return the results asynchronously to avoid making SMP/nonSMP special in
the caller code.
src/ipc/Coordinator.cc
src/ipc/Coordinator.h
src/ipc/FdNotes.cc [new file with mode: 0644]
src/ipc/FdNotes.h [new file with mode: 0644]
src/ipc/Makefile.am
src/ipc/Messages.h
src/ipc/SharedListen.cc [new file with mode: 0644]
src/ipc/SharedListen.h [new file with mode: 0644]
src/ipc/StartListening.cc [new file with mode: 0644]
src/ipc/StartListening.h [new file with mode: 0644]
src/ipc/Strand.cc