]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/unix/pipe.cpp
Move most platform-specific code into overlay directories
[libs/core.git] / source / io / unix / pipe.cpp
diff --git a/source/io/unix/pipe.cpp b/source/io/unix/pipe.cpp
new file mode 100644 (file)
index 0000000..de93f82
--- /dev/null
@@ -0,0 +1,20 @@
+#include <unistd.h>
+#include <msp/core/systemerror.h>
+#include "handle_private.h"
+#include "pipe.h"
+
+namespace Msp {
+namespace IO {
+
+void Pipe::platform_init()
+{
+       int pipe_fd[2];
+       if(pipe(pipe_fd)==-1)
+               throw system_error("pipe");
+
+       *read_handle = pipe_fd[0];
+       *write_handle = pipe_fd[1];
+}
+
+} // namespace IO
+} // namespace Msp