[Mesa-dev] [Bug 76252] Dynamic loading/unloading of opengl32.dll results in a deadlock

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Apr 1 07:24:20 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=76252

--- Comment #8 from José Fonseca <jfonseca at vmware.com> ---
(In reply to comment #7)
> A colleaque had another idea:
> We export stw_cleanup and call it before unloading the dll. This seems to
> work very well and shuts down the threads as expected.
> 
> If you don't see any problems with this approach, we could live with this
> workaround.

Yes, that should work, but I think that my other solution:

  "One alternative would be to replace in lp_rast_destroy() the following code

     /* Wait for threads to terminate before cleaning up per-thread data */
     for (i = 0; i < rast->num_threads; i++) {
        pipe_thread_wait(rast->threads[i]);
     }

  with a signal, i.e., instead of waiting for the threads to finish, simply
wait     for the threads to signal they are ready to finish, which should
happend concurrently with DllMain."

Is more general, and would avoid leaking internal implementation details
outside.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140401/db790595/attachment.html>


More information about the mesa-dev mailing list