The process management for the selector is based on an 'overseer' process. This process is necessary to address the following problems:

Aside from these advantages. The centralized nature of this overseer process makes it possible for us to directly test a number of conditions which are otherwise difficult to check. See bos.cpp for a number of these tests

The overseer itself forks of the main program and remains listening to requests to spawn a program. In return it will send back the exit code when the child dies. A side effect is as well that the process id's are assigned by the main client and automatically mapped to the real ids.

To debug applications that are using this overseer, one should resort to starting the application outside the debugger and then connecting to the second BpmDj instance (the real program, not the overseer) with

gdb ./bpmdj <pid>

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by  doxygen 1.6.2