#1557 Greedy SIGCHLD handler

Bug
closed-fixed
4
2013-12-12
2013-11-23
felix
No

The SIGCHLD handler in the GTK port collects the exit status of all child processes, regardless of where they were launched. This for example prevents Lua scripts from knowing the exit status of children launched from Lua: the handler kicks in before Lua has a chance to call wait().

The process-launching facilities of the GTK port should be probably re-written to use g_spawn_async() and g_child_watch_add().

Discussion

  • Neil Hodgson

    Neil Hodgson - 2013-11-23

    Sounds reasonable but this is a low priority for me so depends on someone willing to contribute an implementation.

     
  • Neil Hodgson

    Neil Hodgson - 2013-11-23
    • labels: --> scite, gtk
    • assigned_to: Neil Hodgson
    • Priority: 5 --> 4
     
  • Neil Hodgson

    Neil Hodgson - 2013-11-23
    • status: open --> open-accepted
     
  • felix

    felix - 2013-11-25

    Attaching a minimal patch.

     
    Last edit: felix 2013-11-26
  • Neil Hodgson

    Neil Hodgson - 2013-11-26

    Since g_spawn_async_with_pipes creates the pipe, shouldn't the call to pipe and the pipefds variable be removed?

     
    • felix

      felix - 2013-11-26

      It should. I noticed that at the very last moment, and amended the patch, but it seems that I uploaded the old version.

       
  • Neil Hodgson

    Neil Hodgson - 2013-11-26
    • status: open-accepted --> open-fixed
     
  • Neil Hodgson

    Neil Hodgson - 2013-12-12
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks