/* * Worldvisions Weaver Software: * Copyright (C) 1997-2002 Net Integration Technologies, Inc. * * WvPipe test. Allows you to enter bash commands, runs them, and pipes the * output back to you. */ #include "wvpipe.h" #include "wvlog.h" int main(int argc, char **argv) { const char *_av[] = { "/bin/bash", NULL }; const char **av = (argc < 2) ? _av : (const char **)(argv + 1); WvLog log(av[0]); WvPipe p(av[0], av, true, false, false); wvcon->autoforward(p); p.autoforward(*wvcon); p.write("test string\r\n"); while (p.isok() && wvcon->isok()) { if (p.select(100)) p.callback(); if (wvcon->select(100)) wvcon->callback(); } p.flush_then_close(50000); while (p.isok()) { log("Flushing...\n"); if (p.select(1000)) p.callback(); } if (p.child_exited()) log(WvLog::Notice, "Exited (return code == %s)\n", p.exit_status()); _exit(0); // don't kill the subtask return 0; }