[gs-bugs] [Bug 691424] Issue with multiple ghostscript processes running at a time

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Wed Jul 28 12:40:53 UTC 2010


Robin Watts <robin.watts at artifex.com> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #10 from Robin Watts <robin.watts at artifex.com> 2010-07-28 12:40:50 UTC ---
After much discussion and investigation, Ken eventually managed to get this to
go wrong on his machine using a simple .bat test script that I wrote. Debugging
showed that a test thread was being started (to see if threading was enabled on
this platform), but the thread (which didn't actually do anything) wasn't being
scheduled until after the DLL had been completed.

Ray came up with a partial workaround for this where he passes a semaphore into
the thread, and signals it. The created thread then waits on the semaphore
before exiting. That doesn't solve the problem completely, but at least insists
that the thread gets scheduled once before it exits - given the shortness of
the thread this probably means it will complete. The customer reports that this
seems to solve the problem.

The proper solution to this is to change the gs threading abstraction slightly;
we now 'start' threads, and then 'finish' them before exiting. Finish is thus
equivalent to the pthreads 'join'.

This change was pushed through in svn revision 11546. A patch for gs 8.71 (the
version that the customer is using) was generated and has been sent.

I am therefore closing the bug as being fixed.

Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the gs-bugs mailing list