/* $Id$ */
#if defined(_POSIX_SOURCE)
-#include <sys/types.h>
+#include <sys/types.h>
#endif
-#include <stdlib.h>
-#include <signal.h>
+#include <stdlib.h>
+#include <signal.h>
+
+extern char** environ;
extern int _fork(void);
extern int _wait(int *);
#define FAIL 127
-extern const char **environ;
static const char *exec_tab[] = {
"sh", /* argv[0] */
"-c", /* argument to the shell */
_close(i);
if (!str) str = "cd ."; /* just testing for a shell */
exec_tab[2] = str; /* fill in command */
- _execve("/bin/sh", exec_tab, environ);
+ _execve("/bin/sh", exec_tab, (char const**) environ);
/* get here if execve fails ... */
_exit(FAIL); /* see manual page */
}
typedef void (*sighandler_t)(int);
extern sighandler_t signal(int signum, sighandler_t handler);
extern int raise(int signum);
+extern int kill(pid_t pid, int sig);
/* Select */