blob: 1077114bd82af49d6bdd3bc4220668deff5d3420 (
plain)
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
32
33
34
35
|
#ifndef pipefds_h
#define pipefds_h
/////////////////////////////////////////////////////////////////////////
//
// Convenience class - automatically destroy pair of pipe handles.
//
/////////////////////////////////////////////////////////////////////////
#include "config.h"
#include <stdlib.h>
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
class PipeFds {
public:
int fds[2];
PipeFds() { fds[0]= -1; fds[1]= -1; }
int Pipe();
void close0()
{
if (fds[0] >= 0) close(fds[0]);
fds[0]= -1;
}
void close1()
{
if (fds[1] >= 0) close(fds[1]);
fds[1]= -1;
}
~PipeFds();
} ;
#endif
|