On Dec 14, 2007 8:51 AM, Denis Oliver Kropp <[EMAIL PROTECTED]> wrote:
> Suzuki K P wrote:
> > Hi Denis,
> >
> > I have confirmed that the problem is indeed due to the daemon() call
> > in the application. This would cause the application to do a fork()
> > and the child process will continue the execution.
> >
> > But the child closes its World as soon as it does a fork with the
> > pthread fork handler and later it goes on to access the freed data.
> > This causes the crash.
> >
> > What would be the best way to fix this issue ? How do we take care of
> > this special case of fork ?
>
> There's a call to change the behaviour.
>
> /*
>  * Sets the fork() action of the calling Fusionee within the world.
>  */
> void fusion_world_set_fork_action( FusionWorld      *world,
>                                    FusionForkAction  action );
>
> typedef enum {
>      FFA_CLOSE,
>      FFA_FORK
> } FusionForkAction;
>
>
> You need to get the world from the DirectFB core:
>
>
>         fusion_world_set_fork_action( dfb_core_world(NULL), FFA_FORK );
>
>
> Please include <src/core.h> and <fusion/fusion.h> for this.
>
>
> I hope it helps, anyhow there should be an option for DirectFB to make it do 
> that itself

So, we have to link the fusion lib (+directfb) to the GTK application
directly and issue the call ?

Thanks

Suzuki
>
> --
>
> Best regards,
>   Denis Oliver Kropp
>
> .------------------------------------------.
> | DirectFB - Hardware accelerated graphics |
> | http://www.directfb.org/                 |
> "------------------------------------------"
>

_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to