[XFCE 0000026]: lost find subprocess

[email protected] Thu, 4 Dec 2003 17:53:37 +0000 (GMT)
Newsgroups gmane.comp.xfce.devel
Message-ID <[email protected]>
The following bug has been RESOLVED.
=======================================================================
http://bugs.xfce.org/view_bug_page.php?f_id=0000026
=======================================================================
Reporter:                   edscott
Handler:                    edscott
=======================================================================
Project:                    XFCE
Bug ID:                     0000026
Category:                   xffm
Reproducibility:            always
Severity:                   major
Priority:                   high
Status:                     resolved
Resolution:                 not a bug
=======================================================================
Date Submitted:             2003-12-02 15:18 GMT
Last Modified:              2003-12-04 17:53 GMT
=======================================================================
Summary:                    lost find subprocess
Description: 
On a lengthy find, if no output is found in the first five seconds,
libxffmtubo is considering the find terminated but it  is still running in
the background. Apparently TuboWait(gpointer fork_object) is doing the
wait on the wrong child. 
=======================================================================

-----------------------------------------------------------------------
 edscott - 2003-12-04 17:53 GMT 
-----------------------------------------------------------------------
The bug is in waitpid() which erroneously returns a program termination
status. Seems like an operating system race condition, which occurs when
the process is being stopped. Putting in a kill(pid,SIGCONT) apparently
works to ensure the process is not in stopped state when the waitpid() is
performed. This affects FreeBSD 5.1 and might not affect other systems,
but the workaround will keep it safe all around.