To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=61856
------- Additional comments from [EMAIL PROTECTED] Thu Nov 16 12:47:25 -0800 2006 ------- The following section is mainly meant for myself to explain why the previous patch is not the solution for the problem. First of all the intend of Wait_for_completion=TRUE is not waiting for a specific PID but to wait for all commands of a process array entry to finish. The proposed solution to only keep Wait_for_completion TRUE in Wait_for_child() if we received the PID we were waiting for is bad because the following can happen if other process arrays are active: Wait_for_child() calls _finished_child() (I) without Wait_for_completion=TRUE and _finished_child() calls runargv() with the next process array entry *and* runargv() -> _add_child() starts the command and returns. If now _proc_cnt==Max_proc _finished_child calls Wait_for_child(,-1) and can catch the PID we are waiting for in the first place, it calls _finished_child() (II) -> runargv() -> _add_child() and returns. Now _finished_child() (I) returns to the Wait_for_child() that is still waiting for PID to finish and in the next loop waitpid(PID,...) finds that the PID is no longer active and returns to the caller of Wait_for_child(, PID) (The -1 return code is ignored) even though there are still followup commands in the process array entry. This obviously can lead to inconsistencies. Short summary: Mixing global variables and parallel processing is not good. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]