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.
--
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev