File: process5.cc

package info (click to toggle)
bobcat 6.11.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,292 kB
  • sloc: cpp: 21,370; fortran: 6,507; makefile: 2,787; sh: 724; perl: 401; ansic: 26
file content (31 lines) | stat: -rw-r--r-- 840 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "process.ih"

Process::Process(IOMode mode, ProcessType processType,
                 size_t timeLimit, size_t bufSize, string const &command)
:
    d_active(false),
    d_timeLimit(timeLimit),
    d_processType(processType),

    d_setTimeLimit(timeLimit),
    d_setProcessType(processType),

    d_command(command),

    d_oChildInPipe(false),    // cin read by the CHILD
    d_iChildOutPipe(false),   // cout written by the CHILD
    d_iChildErrPipe(false),   // cerr written by the CHILD

    d_oChildIn(0),          // initialize the streams with 0-buffers
    d_iChildOut(0),
    d_iChildErr(0),

    d_bufSize(bufSize == 0 ? 1 : bufSize)
{
    Signal::instance().add(SIGCHLD, *this);

    d_setMode = sanitizeIOMode(mode);

            // connect the input and output streams to Process
    open(d_iChildOut, d_oChildIn);
}