Changeset 19033


Ignore:
Timestamp:
May 24, 2002, 3:11:35 AM (23 years ago)
Author:
bird
Message:

Fix for the inherited pipes, save files and stdin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tags/trunk/tools/CmdQd/CmdQd.c

    r18928 r19033  
    1 /* $Id: CmdQd.c,v 1.14 2002-05-07 09:18:09 bird Exp $
     1/* $Id: CmdQd.c,v 1.15 2002-05-24 01:11:35 bird Exp $
    22 *
    33 * Command Queue Daemon / Client.
     
    14471447            RESULTCODES Res;
    14481448            PID         pid;
     1449            HFILE       hStdIn = HF_STDIN;
    14491450            HFILE       hStdOut = HF_STDOUT;
    14501451            HFILE       hStdErr = HF_STDERR;
     1452            HFILE       hStdInSave = -1;
    14511453            HFILE       hStdOutSave = -1;
    14521454            HFILE       hStdErrSave = -1;
     
    14871489                assert(   pJob->JobInfo.szzEnv[pJob->JobInfo.cchEnv-1] == '\0'
    14881490                       && pJob->JobInfo.szzEnv[pJob->JobInfo.cchEnv-2] == '\0');
     1491                DosDupHandle(HF_STDIN, &hStdInSave);
    14891492                DosDupHandle(HF_STDOUT, &hStdOutSave);
    14901493                DosDupHandle(HF_STDERR, &hStdErrSave);
    14911494                DosDupHandle(hPipeW, &hStdOut);
    14921495                DosDupHandle(hPipeW, &hStdErr);
     1496                DosClose(HF_STDIN);
     1497                DosSetFHState(hPipeR, OPEN_FLAGS_NOINHERIT);
     1498                DosSetFHState(hPipeW, OPEN_FLAGS_NOINHERIT);
     1499                DosSetFHState(hStdInSave, OPEN_FLAGS_NOINHERIT);
     1500                DosSetFHState(hStdOutSave, OPEN_FLAGS_NOINHERIT);
     1501                DosSetFHState(hStdErrSave, OPEN_FLAGS_NOINHERIT);
    14931502                rc = DosExecPgm(szObj, sizeof(szObj), EXEC_ASYNCRESULT,
    14941503                                szArg, pJob->JobInfo.szzEnv, &Res, szArg);
     1504                hStdIn = HF_STDIN;
    14951505                DosClose(hStdOut); hStdOut = HF_STDOUT;
    14961506                DosClose(hStdErr); hStdErr = HF_STDERR;
     1507                DosDupHandle(hStdInSave, &hStdIn);
    14971508                DosDupHandle(hStdOutSave, &hStdOut);
    14981509                DosDupHandle(hStdErrSave, &hStdErr);
     1510                DosClose(hStdInSave);
    14991511                DosClose(hStdOutSave);
    15001512                DosClose(hStdErrSave);
Note: See TracChangeset for help on using the changeset viewer.