http://bugzilla.novell.com/show_bug.cgi?id=501758 Summary: [yast2-core] 2 agents not responding to "result" make yast hang. 1 is not enough Classification: openSUSE Product: openSUSE 11.1 Version: Final Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 AssignedTo: mvidner@novell.com ReportedBy: mvidner@novell.com QAContact: jsrain@novell.com CC: locilka@novell.com Found By: --- An external agent communicating via stdio is supposed to exit after seeing `result(foo) In SMT it happened that two agents did not do it which made YaST hang while terminating. If there was only one such agent, the problem did not occur. It turns out that when there is only one agent, it finds its command pipe closed and exits. When there are 2 agents, the second of them holds a copy of the writer end of the command pipe, inherited uselessly from y2base. Thus the pipe is not closed and the 1st agent keeps running. This can be solved by closing all unnecessary FDs before executing the agent in liby2/src/Y2ProgramComponent.cc. It is already done in liby2util-r/src/ExternalProgram.cc (which should be used here too?), see bug 45410. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.