http://bugs.winehq.org/show_bug.cgi?id=15462
Andrey Turkin andrey.turkin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.turkin@gmail.com
--- Comment #6 from Andrey Turkin andrey.turkin@gmail.com 2013-05-21 02:29:00 CDT --- Here's that happens: 1) One wine process forks off wineserver which would leave stderr open in case it needs to dump some traces or error messages; this stderr handle (inherited from wine process) is connected to write side of a pipe which tee reads 2) wine process for another script instance uses this wineserver for its operation 3) wine process that initially started wineserver exits; wineserver still lingers for few more seconds; tee waits for all the writers to go away 4) second wine process in another script instance starts up, connects to the wineserver and runs to completion 5) wineserver waits for few seconds again, then exits 6) tee exits, second wine process is started (starting new wineserver)
Basically the question here is when wineserver should close its inherited stderr when implicitly started in background by wine (right away from the start, or when program that spawned wineserver exits, or when all non-system programs started by that original program exited, or never, or something else). Also there is an obvious workaround described by Chris - just start some wine application beforehand to make sure wineserver is there.