mirror of
https://github.com/labwc/labwc.git
synced 2025-10-31 22:25:34 -04:00
common/spawn.c: add spawn_piped()
This commit is contained in:
parent
0671a3bfd3
commit
e5488fefcb
3 changed files with 180 additions and 6 deletions
|
|
@ -2,10 +2,34 @@
|
|||
#ifndef LABWC_SPAWN_H
|
||||
#define LABWC_SPAWN_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
/**
|
||||
* spawn_async_no_shell - execute asynchronously
|
||||
* @command: command to be executed
|
||||
*/
|
||||
void spawn_async_no_shell(char const *command);
|
||||
|
||||
/**
|
||||
* spawn_piped - execute asyncronously
|
||||
* @command: command to be executed
|
||||
* @pipe_fd: set to the read end of a pipe
|
||||
* connected to stdout of the command
|
||||
*
|
||||
* Notes:
|
||||
* The returned pid_t has to be waited for to
|
||||
* not produce zombies and the pipe_fd has to
|
||||
* be closed. spawn_piped_close() can be used
|
||||
* to ensure both.
|
||||
*/
|
||||
pid_t spawn_piped(const char *command, int *pipe_fd);
|
||||
|
||||
/**
|
||||
* spawn_piped_close - clean up a previous
|
||||
* spawn_piped() process
|
||||
* @pid: will be waitpid()'d for
|
||||
* @pipe_fd: will be close()'d
|
||||
*/
|
||||
void spawn_piped_close(pid_t pid, int pipe_fd);
|
||||
|
||||
#endif /* LABWC_SPAWN_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue