Re: nested gdk_threads_enter() hangs: linux/gcc vs. win32/mingw?



Hello Felix,

Am Samstag, den 14.05.2005, 18:01 +0200 schrieb Felix Kater:
Hi,

first let me thank you!


Juergen Dankoweit <Juergen Dankoweit T-Online de> wrote:

Funny. On FreeBSD I have no problems with nested calls of
gdk_threads_enter()/gdk_threads_leave().

[...]

This mutex-semaphore is gdk-wide.

[...]

As you can see, you MUST not call them nested!


If you don't have problems with nested calls of gdk_threads_enter()
either (like me on win32) then there must be some more magic behind the
gdk_threads_enter thing than just a global semaphore... 

Well let me speculate: 
There could be two things:
(1) the operating system could detect such dead-locks
(2) the operating system sets a timeout for waiting on semaphores

Let me repeat I realy don't know.

How can it
determine if a call is a nested call from the same thread which is
allowed -- and a call from a foreign thread which is not allowed?


Well let me point out that I wrote one thing not really exact:
This semaphore works only in the process-context in which your
application runs. It is not system-wide - sorry for that mistake.

On the layer under this the process management takes care of this or
even the Xlib.

Regards

JÃrgen




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]