[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date
][Minivend by thread
]
Minivend Crash Continued
Hi all,
I've continued to work on the crashing problem I'm experiencing with Digital
Unix when the reload button is pressed quickly by a user. The problem
appears to stem from MiniVend not waiting for a child process to exit. When
this happens, the child process becomes <defunct>. As a result MiniVend
locks. Here is a snippet from 'man'
[Digital] When you enter a ps command while running an application
that forks child processes, you might see some child processes listed
as being in the <defunct> state after they have exited. Processes in
this state cannot be killed until the process that forked them is
killed.
[Digital] The system puts exiting child processes in the <defunct>
state if their parent process is still running and has not caught the
SIGCHLD signal or executed a wait() system call.
[Digital] To avoid having users encounter this problem when they run
your application, make sure that your program logic either catches the
SIGCHLD signal or executes a wait() system call when spawning a child
I think I've narrowed the problem to forking, given the above, and given
that MiniVend doesn't crash when running debug in the foreground. I still
haven't been able to determine the exact location of the problem in the code
though.
Any thoughts would be appreciated.
Bill Rothbauer