worker: New library for breaking a daemon into multiple processes.
authorBen Pfaff <blp@nicira.com>
Wed, 27 Jun 2012 17:40:50 +0000 (10:40 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 18 Jul 2012 17:30:49 +0000 (10:30 -0700)
commit70e4e586e4aff1e369cacd721e874d9731253130
tree9ac59a3f129a64b9dcabdb110d49d5138faf962e
parentd41d4b714d29091dd502dd8705ef489467e11a43
worker: New library for breaking a daemon into multiple processes.

ovs-vswitchd is effectively a "soft real-time" process, because flows that
do not get set up quickly lead to packet loss or retransmission.  We've
done our best to keep it from blocking unnecessarily, but some operations
unavoidably block.  This new library allows a daemon to break itself up
into a main process and a worker process, connected by an RPC channel,
with the idea being that the main process will delegate any possibly
blocking operations to the worker.

This commit also modifies ovs-vswitchd to start a worker process, but it
does not actually introduce any uses for the worker process.  Upcoming
commits will add those.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/automake.mk
lib/worker.c [new file with mode: 0644]
lib/worker.h [new file with mode: 0644]
vswitchd/ovs-vswitchd.c