X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fpipe.cpp;h=0f206981f11c6d1e205d127d281655965559187e;hp=3b74a0f2b6bea34ed7ca0a49991781de6331d6f8;hb=651cfe05e867ffdef9028a831add3eca54d19d0d;hpb=6dcf4223fdacc36aa2b3f50871121f7ba8794e9d diff --git a/source/io/pipe.cpp b/source/io/pipe.cpp index 3b74a0f..0f20698 100644 --- a/source/io/pipe.cpp +++ b/source/io/pipe.cpp @@ -28,7 +28,7 @@ Pipe::Pipe(): if(!write_handle) { unsigned err = GetLastError(); - CloseHandle(*handle[0]); + CloseHandle(*read_handle); throw system_error(format("CreateFile(%s)", name), err); } #else @@ -86,5 +86,15 @@ unsigned Pipe::do_read(char *buf, unsigned size) return ret; } +const Handle &Pipe::get_handle(Mode m) +{ + if(m==M_READ) + return read_handle; + else if(m==M_WRITE) + return write_handle; + else + throw invalid_argument("Pipe::get_handle"); +} + } // namespace IO } // namespace Msp