To reply to my own message...

On Wed, Jul 03, 2002 at 12:45:27AM -0400, 
[EMAIL PROTECTED] wrote:
> OK, moving on to one of the next steps.  I want my application to
> share the directfb display with other applications (actually my
> application runs other applications) so I rebuilt directfb with the
> multi-application core.
> 
> Strnage results.  If I run my gtk+ application, it starts and runs but
> nothing from my app displays.  I get the blue directfb screen with the
> cone in the center, but my gtk application does not run.  It just
> hangs in gtk_init().

It seems that this is a threading issue (again ~sigh~).  The main
thread, the one that gtk is running in seems to (get) suspend(ed) and
never get woken up again.  The last two syscalls of the main thread
are:

27386 rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
27386 rt_sigsuspend([] <unfinished ...>

I don't really know, but I suspect this "rt_sigsuspend()" stuff is the
thread manager making sure that all threads in an application get run.
I don't know why the main thread gets suspended and never awoken
though.

> If I run the exact same application binary file under gdb (simply
> start gdb and issue a "run") it works.  I see my gtk application
> running.  Very strange.  Here is the output when run under gdb:

This problem of rt_suspend() being called but the process never being
woken up again was at the heart of my other problem -- the one that
was solved by compiling my application with -D_REENTRANT and linking
with -lpthread.

But gtk+ is compiled and linked with -D_REENTRANT and -lpthread
(respectively), and so is my application so I am at a loss to figure
out what is going on here.

Any ideas?

b.

-- 
Brian J. Murrell

Attachment: msg00757/pgp00000.pgp
Description: PGP signature

Reply via email to