Changeset 3190 for trunk/src/kmk/w32/winchildren.c
- Timestamp:
- Mar 26, 2018, 9:46:13 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/w32/winchildren.c
r3187 r3190 637 637 static void mkWinChildcareWorkerFlushUnwritten(PWINCHILD pChild, PWINCCWPIPE pPipe) 638 638 { 639 /** @todo integrate with output.c */640 639 DWORD cbUnwritten = pPipe->cbWritten - pPipe->offPendingRead; 641 640 if (cbUnwritten) 642 641 { 643 DWORD cbWritten = 0; 644 if (WriteFile(GetStdHandle(pPipe->iWhich == 1 ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE), 645 &pPipe->pbBuffer[pPipe->cbWritten], cbUnwritten, &cbWritten, NULL)) 646 pPipe->cbWritten += cbWritten <= cbUnwritten ? cbWritten : cbUnwritten; /* paranoia */ 642 #ifdef CONFIG_WITH_OUTPUT_IN_MEMORY 643 if (pChild->pMkChild) 644 { 645 output_write_bin(&pChild->pMkChild->output, pPipe->iWhich == 2, &pPipe->pbBuffer[pPipe->cbWritten], cbUnwritten); 646 pPipe->cbWritten += cbUnwritten; 647 } 648 else 649 #endif 650 { 651 DWORD cbWritten = 0; 652 if (WriteFile(GetStdHandle(pPipe->iWhich == 1 ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE), 653 &pPipe->pbBuffer[pPipe->cbWritten], cbUnwritten, &cbWritten, NULL)) 654 pPipe->cbWritten += cbWritten <= cbUnwritten ? cbWritten : cbUnwritten; /* paranoia */ 655 } 647 656 } 648 657 } … … 693 702 if (offRest > offStart) 694 703 { 695 /** @todo integrate with output.c */696 704 /* Write out offStart..offRest. */ 697 705 DWORD cbToWrite = offRest - offStart; 698 DWORD cbWritten = 0; 699 if ( WriteFile(GetStdHandle(pPipe->iWhich == 1 ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE),700 &pPipe->pbBuffer[offStart], cbToWrite, &cbWritten, NULL))701 {702 offStart += cb Written <= cbToWrite ? cbWritten : cbToWrite; /* paranoia */706 #ifdef CONFIG_WITH_OUTPUT_IN_MEMORY 707 if (pChild->pMkChild) 708 { 709 output_write_bin(&pChild->pMkChild->output, pPipe->iWhich == 2, &pPipe->pbBuffer[offStart], cbToWrite); 710 offStart += cbToWrite; 703 711 pPipe->cbWritten = offStart; 712 } 713 else 714 #endif 715 { 716 DWORD cbWritten = 0; 717 if (WriteFile(GetStdHandle(pPipe->iWhich == 1 ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE), 718 &pPipe->pbBuffer[offStart], cbToWrite, &cbWritten, NULL)) 719 { 720 offStart += cbWritten <= cbToWrite ? cbWritten : cbToWrite; /* paranoia */ 721 pPipe->cbWritten = offStart; 722 } 704 723 } 705 724 }
Note:
See TracChangeset
for help on using the changeset viewer.