Red Hat Bugzilla – Bug 1377
Use fork() instead of vfork()
Last modified: 2008-05-01 11:37:49 EDT
Current apmd doesn't work very with the new initscripts,
which are relying that the called daemon goes into
background by itself.
apmd uses vfork() to go into background, but the libc-manual
says "Instead, the child process created with `vfork' shares
its parent's address space until it calls `_exit' or one of
the `exec' functions. In the meantime, the parent process
suspends execution". That's why apmd will not fork into
background and a fork() instead of vfork() at apmd.c:342
will reallow a "daemon apmd".
I have detected an apmd-3.0 (labeled as beta) which is using
fork() instead of vfork() too.
Fixed in the current beta