summaryrefslogtreecommitdiff
path: root/boost/process/detail/posix/basic_pipe.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/process/detail/posix/basic_pipe.hpp')
-rw-r--r--boost/process/detail/posix/basic_pipe.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/boost/process/detail/posix/basic_pipe.hpp b/boost/process/detail/posix/basic_pipe.hpp
index 77fc90a4c1..14d140f1cc 100644
--- a/boost/process/detail/posix/basic_pipe.hpp
+++ b/boost/process/detail/posix/basic_pipe.hpp
@@ -29,7 +29,7 @@ class basic_pipe
int _sink = -1;
public:
explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
- explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
+ explicit basic_pipe(int source, int sink, const std::string&) : _source(source), _sink(sink) {}
typedef CharT char_type ;
typedef Traits traits_type;
typedef typename Traits::int_type int_type ;
@@ -105,8 +105,10 @@ public:
void close()
{
- ::close(_source);
- ::close(_sink);
+ if (_source != -1)
+ ::close(_source);
+ if (_sink != -1)
+ ::close(_sink);
_source = -1;
_sink = -1;
}