/*
* ion/ioncore/exec.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2008.
*
* See the included file LICENSE for details.
*/
/*EXTL_DOC
- * Run \var{cmd} with a read pipe connected to its stdout.
- * When data is received through the pipe, \var{handler} is called
- * with that data.
+ * Run \var{cmd} in directory \var{wd} with a read pipe connected to its
+ * stdout and stderr.
+ * When data is received through one of these pipes, \var{h} or \var{errh}
+ * is called with that data. When the pipe is closed, the handler is called
+ * with \code{nil} argument. The PID of the new process is returned, or
+ * -1 on error.
*/
EXTL_SAFE
EXTL_EXPORT
-int ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh)
+int ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh,
+ const char *wd)
{
WExecP p;
p.target=NULL;
- p.wd=NULL;
+ p.wd=wd;
p.cmd=cmd;
return mainloop_popen_bgread(cmd, setup_exec, (void*)&p, h, errh);