Hi guys,
Just one more additional question! :)
In the new implementation:
42 if (core->shutdown_tid && core->shutdown_tid != direct_gettid() &&
direct_gettid() != fusion_dispatcher_tid(core->world) && !Core_GetCalling()) {
43 while (core_dfb)
44 direct_thread_sleep(10000);
How does it work out for a multi-threaded application running in
DirectFB-single mode?
Let's assume we have a main thread A that started the DirectFB's core (and
hence making its tid == to core->shutdown_tid, right?) and another thread B
that's drawing stuff and then calling to CoreSurface_Flip() and thus causing a
call to CoreDFB_CallMode(). Won't that thread be suspended and never return (as
it hits direct_thread_sleep())?
Also in src/core/core.c, function Core_PopCalling():
1823 Core_PopCalling( void )
1824 {
1825 CoreTLS *core_tls = Core_GetTLS();
1826
1827 if (core_tls) {
1828 if (core_tls->calling == 0) {
1829 D_BUG( "" );
1830 return;
1831 }
1832
1833 core_tls->calling++;
Does it actually make sense to do core_tls->calling--; instead of the
core_tls->calling++; ?
-Ilyes
-----Original Message-----
From: Marek Pikarski [mailto:[email protected]]
Sent: Friday, April 06, 2012 1:23 PM
To: Ilyes GOUTA
Cc: [email protected]
Subject: Re: [directfb-dev] Application doesn't quit anymore on SIGINT after
applying commit 'direct: reworked signal handling' (commit 0a430500f)
Hi,
yes this was well tested for multi-app but just barely for single app mode :-/
Basically it was working but then some more fixes were made for multi-app mode
and probably missed to retest for single-app.
I will fix that issue on tuesday, sorry.
Probably DoK can check it before?
Regards, Marek
Ilyes GOUTA wrote:
> Hi Marek,
>
> Has this been tested for DirectFB-single mode? What about
> fusion_dispatcher_tid() for DirectFB-single?
>
> Ctrl+C doesn't have any effect on DirectFB-single application mode and this
> is likely due to the new signal handling routine. Reverting that commit get
> things to the normal behavior.
>
> Why the modified direct_signals_shutdown() that's now emitting the custom
> SIG_CLOSE_SIGHANDLER signal isn't causing the termination of the DirectFB
> application anymore?
>
> -Ilyes
> _______________________________________________
> directfb-dev mailing list
> [email protected]
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
>
>
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev