[oe-issues] [Bug 2048] New: g_spawn_sync() fails to get the child return code if launched from matchbox-desktop

bugzilla-daemon at tinman.treke.net bugzilla-daemon at tinman.treke.net
Mon Mar 26 18:56:27 UTC 2007


http://bugs.openembedded.org/show_bug.cgi?id=2048

           Summary: g_spawn_sync() fails to get the child return code if
                    launched from matchbox-desktop
           Product: Openembedded
           Version: unspecified
          Platform: ARM
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Distributions
        AssignedTo: openembedded-issues at lists.openembedded.org
        ReportedBy: manuel.teira at telefonica.net
         QAContact: tinderbox-oe at gmx.net


matchbox-desktop sets SIGCHLD to SIG_IGN. So, all the processes spawned from it
(all the launched from the GUI session) are inheriting this behaviour. As
g_spawn_sync() and generally , waitpid(), need the SIGCHLD signal to be handled
by the default handler, it should be set before calling exec. The error was:

(gpe-conf:4707): GLib-WARNING **: In call to g_spawn_sync(), exit status of a
child process was requested but SIGCHLD action was set to SIG_IGN and ECHILD
was received by waitpid(), so exit status can't be returned. This is a bug in
the program calling g_spawn_sync(); either don't request the exit status, or
don't set the SIGCHLD action.

To fix it, I'm proposing a patch for libmatchbox, resetting the SIGCHLD action
handler to the default one, before exec'ing.

I'm attaching a patch.


-- 
Configure bugmail: http://bugs.openembedded.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.




More information about the Openembedded-issues mailing list