#include <cstdlib>
-#include <unistd.h>
-#include <sys/wait.h>
#include <msp/fs/dir.h>
#include <msp/io/console.h>
#include <msp/io/file.h>
if(stdin_action==IGNORE || stdout_action==IGNORE || stderr_action==IGNORE)
{
+#ifdef _WIN32
+ devnull = new IO::File("nul", IO::M_RDWR);
+#else
devnull = new IO::File("/dev/null", IO::M_RDWR);
+#endif
if(stdin_action==IGNORE)
process->redirect_cin(*devnull);
if(stdout_action==IGNORE)
{
while(process)
{
- if(process->wait(!capture_pipe))
+ if(process->wait(block && !capture_pipe))
{
exit_code = process->get_exit_code();
delete process;