|
|
|
|
|
|
|
|
|
|
xen-api
[Xen-API] [PATCH 0 of 6] Add a fork/exec daemon
CA-33440: add a single-threaded fork/exec daemon
Under stress testing occasionally xapi fork()s and fails to exec() because the
subprojecess is spinning in a pthread_create, called from a pthread_atfork
handler.
Since it's difficult to get fork()+threads right, we switch to a defensive
model where a single-threaded process (started from init.d) fork()s on behalf
of xapi.
An additional benefit is the addition of ocaml bindings for sending and
receiving file descriptors over unix domain sockets.
28 files changed, 974 insertions(+), 136 deletions(-)
Makefile.in | 16 ++
forking_executioner/META.in | 5
forking_executioner/Makefile | 78 +++++++++++++-
forking_executioner/child.ml | 162 +++++++++++++++++++++++++++++
forking_executioner/fe_debug.ml | 23 ++++
forking_executioner/fe_main.ml | 89 ++++++++++++++++
forking_executioner/init.d-fe | 99 ++++++++++++++++++
forking_executioner/test_forker.ml | 49 ++++++++
mk/Makefile | 2
rebuild | 2
scripts/Makefile | 13 ++
scripts/install.sh | 5
stdext/META.in | 2
stdext/Makefile | 25 +++-
stdext/fe.ml | 24 ++++
stdext/fecomms.ml | 43 +++++++
stdext/fecomms.mli | 8 +
stdext/forkhelpers.ml | 197 ++++++++++++++++++++++++++----------
stdext/forkhelpers.mli | 16 ++
stdext/gzip.ml | 16 +-
stdext/sha1sum.ml | 13 --
stdext/unixext.ml | 24 ----
stdext/unixext.mli | 4
stdext/unixext_stubs.c | 136 ++++++++++++++++++++++++
stunnel/META.in | 2
stunnel/Makefile | 8 -
stunnel/stunnel.ml | 47 ++++----
stunnel/stunnel.mli | 2
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-API] [PATCH 0 of 6] Add a fork/exec daemon,
David Scott <=
|
|
|
|
|