Changeset 3224 for trunk/src/kmk/w32


Ignore:
Timestamp:
Apr 8, 2018, 5:49:07 PM (7 years ago)
Author:
bird
Message:

kmk: Fixed a couple of bugs in mkWinChildcareWorkerThreadHandleSubmit that would cause it to lock up.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/w32/winchildren.c

    r3205 r3224  
    23342334        assert(pChild->u.Submit.pStdErr);
    23352335        pChild->u.Submit.pStdOut->fHaveWrittenOut = FALSE;
    2336         ahHandles[cHandles++] = pChild->u.Submit.pStdOut->hPipeMine;
     2336        ahHandles[cHandles++] = pChild->u.Submit.pStdOut->hEvent;
    23372337        pChild->u.Submit.pStdErr->fHaveWrittenOut = FALSE;
    2338         ahHandles[cHandles++] = pChild->u.Submit.pStdErr->hPipeMine;
     2338        ahHandles[cHandles++] = pChild->u.Submit.pStdErr->hEvent;
    23392339    }
    23402340
     
    23472347        int   iSignal   = -1;
    23482348        DWORD dwStatus;
    2349         if (cHandles == 0)
     2349        if (cHandles == 1)
    23502350            dwStatus = WaitForSingleObject(ahHandles[0], INFINITE);
    23512351        else
     
    23582358                mkWinChildcareWorkerCatchOutput(pChild, pChild->u.Submit.pStdErr, FALSE /*fDraining*/);
    23592359        }
    2360         if (kSubmitSubProcGetResult((intptr_t)pvSubmitWorker, &iExitCode, &iSignal) == 0)
     2360        if (kSubmitSubProcGetResult((intptr_t)pvSubmitWorker, dwStatus == WAIT_OBJECT_0 /*fBlock*/, &iExitCode, &iSignal) == 0)
    23612361        {
    23622362            if (pChild->u.Submit.pStdOut)
Note: See TracChangeset for help on using the changeset viewer.