- Q:
- How to create the DD system?
- A:
- One process calling
DD_factory *myDDfactory = new DD_factory;
DD *pDD = myDDfactory::create( name, config_file, "r/w" );
Note: do not call new DD directly.- Q:
- How to remove the DD system?
- A:
- Send a SIGHUP (more precisely DD_SHUTDOWN_SIGNAL) to the garbage demon.
- Q:
- How to remove the DD system when SIGHUP doesn't do the job?
- A:
- Sometimes the DD doesn't shut down properly and IPC resources or left over processes (such as the garbage demon) becomes zombies. If the environment variable DD_CLEANUP_SCRIPT is defined, the proper C shell commands for removing the shared resources are added in this file. Note that the file is never overwritten, so once used, it should be deleted.
- Q:
- How to remove one process from the DD system?
- A:
- Send a SIGHUP (more precisely DD_SHUTDOWN_SIGNAL) to this process.
- Q:
- When does the DD system cease to exist?
- A:
- When the garbage demon sees that there are no more processes attached to it. Optional: When a fatal error is detected or the garbage demon receives a SIGHUP signal.
- Q:
- How to be a DD producer?
- A:
- Attach to the INPUT fifo.
- Q:
- How to be a DD consumer?
- A:
- Attach to a fifo of your choice.
- Q:
- How to attach to the DD system?
- A:
- Simply create the system in "r" mode as shown in FAQ1.
- Q:
- How does a process know, whether it is attached to the DD system and the latter still exists?
- A:
- Check if DD::get_status() == ddcSuccess .
- Q:
- How to attach to a DD system over the network?
- A:
- Define DD_NAME as dd_system@node.
- Q:
- What happens if a user process dies?
- A:
- Under normal conditions the exiting process properly detaches from the DD system if it has been created using the DD factory. However this doesn't work in all cases (e.g. when running a program crashes while running in certain debuggers). In this case the fifo can be filled with empty buffers. The garbage demon will detect this situation and remove the fifo (if the fifo is not protected (see DD::set_protection).
- Q:
- Why are the shared memory segments and semaphores still present for a few seconds after the last process detached from the DD system
- A:
- The garbage demon typically waits a few seconds before he closes down the DD system to make sure that it is really not in use anymore.
- Q:
- Which are the most important demonstration programs?
- A:
- They are all located in DD_BIN:
- dd_test: A simple test program that attaches to the DD system and accepts commands from the standard input.
- dd_test_p : A simple producer.
- dd_test_c : A simple consumer.
- dd_ui : An X11/OSF motif based user interface to the DD system.
- ddr_ui: A user interface monitoring the fifos.
- ddp_ui: A user interface monitoring the processes.
- Q:
- How to get rid any processes that are still alive?
- A:
- Call dd_cleanup. Note: you may want to change this script.
- Q:
- Where to complain and report errors?
- A:
- witzig@bnl.gov
Alphabetic index Hierarchy of classes