From 89ea9c8401d9e1b79977c6556b81b2eb4159ef59 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 18 Jun 2015 11:37:25 +0200 Subject: Move process from build2 to libbutl --- build/process | 67 ----------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 build/process (limited to 'build/process') diff --git a/build/process b/build/process deleted file mode 100644 index 0e1a8c9..0000000 --- a/build/process +++ /dev/null @@ -1,67 +0,0 @@ -// file : build/process -*- C++ -*- -// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD_PROCESS -#define BUILD_PROCESS - -#ifndef _WIN32 -# include // pid_t -#endif - -#include -#include - -namespace build -{ - - struct process_error: std::system_error - { - process_error (int e, bool child) - : system_error (e, std::system_category ()), child_ (child) {} - - bool - child () const {return child_;} - - private: - bool child_; - }; - - struct process - { - // Start another process using the specified command line. Connect the - // newly created process' stdin to out_fd. Also if connect_* are true, - // connect the created process' stdout and stderr to in_*fd. Throw - // process_error if anything goes wrong. - // - // Note that some of the exceptions (e.g., if exec() failed) can be - // thrown in the child version of us. - // - process (char const* args[], - bool connect_stdin = false, - bool connect_stderr = false, - bool connect_stdout = false); - - // Wait for the process to terminate. Return true if the process - // terminated normally and with the zero exit status. Throw - // process_error if anything goes wrong. - // - bool - wait (); - - ~process () {assert (id == 0);} - -#ifndef _WIN32 - typedef pid_t id_type; -#else - typedef void* id_type; // Win32 HANDLE. -#endif - - id_type id; - int out_fd; // Write to this fd to send to the new process' stdin. - int in_efd; // Read from this fd to receive from the new process' stderr. - int in_ofd; // Read from this fd to receive from the new process' stdout. - }; -} - -#endif // BUILD_PROCESS -- cgit v1.1