aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Herbert Valerio Riedel <hvr@gnu.org>2014-12-06 21:11:59 +0100
committerGravatar Herbert Valerio Riedel <hvr@gnu.org>2014-12-06 21:11:59 +0100
commit7bad9d7d52d24cc4246646e5af3116c2dd8c25c4 (patch)
treeb4ce832b2b67b5cc4fd2d866dc8221e828dc8165 /include
parent078666f4399f368e2f3dd82b5081dc1ad9b9fdc2 (diff)
Have "execvpe.h" provide execvpe() again
Turns out `process` reuses `unix`'s execvpe() implementation, and the refactoring in f24ba78f68b2cbc4f4afadc8dd60fc2935357255 broke process.
Diffstat (limited to 'include')
-rw-r--r--include/execvpe.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/execvpe.h b/include/execvpe.h
index 1d49e35..d4b6521 100644
--- a/include/execvpe.h
+++ b/include/execvpe.h
@@ -4,8 +4,23 @@
Interface for code in cbits/execvpe.c
------------------------------------------------------------------------- */
+#ifndef HSUNIX_EXECVPE_H
+#define HSUNIX_EXECVPE_H
+
+#include "HsUnixConfig.h"
+
extern int
__hsunix_execvpe(const char *name, char *const argv[], char *const envp[]);
+// this hack is needed for `process`; to be removed in unix-2.8
+#if HAVE_EXECVPE
+# define _GNU_SOURCE
+# include <unistd.h>
+#else
+# define execvpe(name,argv,envp) __hsunix_execvpe(name,argv,envp)
+#endif
+
// implemented in cbits/ghcrts.c
extern void pPrPr_disableITimers (void);
+
+#endif