Ignore:
Timestamp:
Mar 18, 2018, 9:10:03 PM (7 years ago)
Author:
bird
Message:

kmk/win: Reworking child process handling. This effort will hopefully handle processor groups better and allow executing internal function off the main thread.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/kmkbuiltin/kSubmit.c

    r3140 r3156  
    5151#endif
    5252#ifdef KBUILD_OS_WINDOWS
    53 # include "sub_proc.h"
     53# ifndef CONFIG_NEW_WIN_CHILDREN
     54#  include "sub_proc.h"
     55# else
     56#  include "../w32/winchildren.h"
     57# endif
    5458#endif
    5559
     
    933937    if (rc == -1)
    934938    {
     939# ifndef CONFIG_NEW_WIN_CHILDREN
    935940        if (process_kmk_register_submit(pWorker->OverlappedRead.hEvent, (intptr_t)pWorker, pPidSpawned) == 0)
    936941        { /* likely */ }
     
    942947            goto l_again;
    943948        }
     949# else
     950        if (MkWinChildCreateSubmit((intptr_t)pWorker->OverlappedRead.hEvent, pWorker, pPidSpawned) == 0)
     951        { /* likely */ }
     952        else
     953        {
     954            /* We need to do the waiting here because sub_proc.c has too much to do. */
     955            warnx("MkWinChildCreateSubmit failed!");
     956            WaitForSingleObject(pWorker->OverlappedRead.hEvent, INFINITE);
     957            goto l_again;
     958        }
     959# endif
    944960    }
    945961    else
Note: See TracChangeset for help on using the changeset viewer.