Skip to content
  • Simon McVittie's avatar
    Do not attempt to call child_setup on Windows · 420f3474
    Simon McVittie authored
    child_setup() is defined to be called after fork() and before exec(),
    but Windows' process model does not have fork(): the equivalent of
    those two operations is a single CreateProcess() call. This means
    that there is no point at which we could call child_setup() and
    have it affect only the child's process-global state. At the point
    where it is currently executed, it affects the parent's process-global
    state instead, which would be actively harmful if we used any
    child_setup() function that was not a no-op on Windows.
    
    The equivalent function in GLib, g_spawn_async_with_pipes(), documents
    child_setup() as unused on Windows. Do the same here.
    
    In practice, our only use of child_setup() outside tests
    is #ifdef DBUS_UNIX anyway, so this change has no practical effect
    right now.
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=85857
    
    
    Reviewed-by: default avatarRalf Habacker <ralf.habacker@freenet.de>
    420f3474