summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2024-11-06 08:05:33 +0000
committerLaurent Bercot <ska@appnovation.com>2024-11-06 08:05:33 +0000
commit3d91d9ce645efa020800b85be1ac2727ebcbad19 (patch)
tree4461d2c99abfb80f3955b4f775b26767e823fc6a /src/include
parent32ed930a967c83c5b683d1d22c286b46a9f792ea (diff)
downloadexecline-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.h17
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