diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2024-11-06 08:05:33 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2024-11-06 08:05:33 +0000 |
commit | 3d91d9ce645efa020800b85be1ac2727ebcbad19 (patch) | |
tree | 4461d2c99abfb80f3955b4f775b26767e823fc6a /src/include | |
parent | 32ed930a967c83c5b683d1d22c286b46a9f792ea (diff) | |
download | execline-3d91d9ce645efa020800b85be1ac2727ebcbad19.tar.xz |
Prepare for 2.9.7.0 ; rework forx/forstdin -p, add -P maxpar
Also refactor several things to keep global footprint low
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/execline/execline.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/include/execline/execline.h b/src/include/execline/execline.h index 8a204d8..7fdef51 100644 --- a/src/include/execline/execline.h +++ b/src/include/execline/execline.h @@ -80,8 +80,25 @@ extern int el_substitute (stralloc *, char const *, size_t, char const *, char c /* Execution with or without substitution */ +extern char const *const *el_trueargv ; extern void el_modif_and_exec (char const *const *, char const *, char const *, int) gccattr_noreturn ; extern pid_t el_modif_and_spawn (char const *const *, char const *, char const *, int) ; extern void el_modifs_and_exec (char const *const *, char const *const *, char const *const *, size_t, int) gccattr_noreturn ; + + /* Spawning and waiting for several children at once */ + +typedef struct el_forx_pidinfo_s el_forx_pidinfo_t, *el_forx_pidinfo_t_ref ; +struct el_forx_pidinfo_s +{ + pid_t *tab ; + unsigned int len ; + int wstat ; +} ; +#define EL_FORX_PIDINFO_ZERO { .tab = 0, .len = 0, .wstat = 0 } + +extern el_forx_pidinfo_t *el_forx_pidinfo ; +extern void el_forx_sigchld_handler (int) ; +extern int el_forx_isok (unsigned short const *, unsigned int, unsigned short) ; + #endif |