#include <signal.h>
-int kill(int pid, int sig);
-int getpid(void);
+int _kill(int pid, int sig);
+int _getpid(void);
int
raise(int sig)
{
if (sig < 0 || sig > _NSIG)
return -1;
- return kill(getpid(), sig);
+ return _kill(_getpid(), sig);
}
int __funccnt = 0;
extern void _exit(int);
-/* only fflush when there is output */
-int (*_fflush)(FILE *stream) = NULL;
+
+/* only flush output buffers when necessary */
+int (*_clean)(void) = NULL;
static void
_calls(void)
exit(int status)
{
_calls();
- if (_fflush) _fflush((FILE *)NULL) ;
+ if (_clean) _clean();
_exit(status) ;
}
#include <stdlib.h>
#include <signal.h>
-extern int fork(void);
-extern int wait(int *);
+extern int _fork(void);
+extern int _wait(int *);
extern void _exit(int);
-extern void execl(char *, ...);
-extern void close(int);
+extern void _execl(char *, ...);
+extern void _close(int);
#define FAIL 127
int pid, exitstatus, waitval;
int i;
- if ((pid = fork()) < 0) return str ? -1 : 0;
+ if ((pid = _fork()) < 0) return str ? -1 : 0;
if (pid == 0) {
for (i = 3; i <= 20; i++)
- close(i);
+ _close(i);
if (!str) str = "cd ."; /* just testing for a shell */
- execl("/bin/sh", "sh", "-c", str, (char *) NULL);
+ _execl("/bin/sh", "sh", "-c", str, (char *) NULL);
/* get here if execl fails ... */
_exit(FAIL); /* see manual page */
}
- while ((waitval = wait(&exitstatus)) != pid) {
+ while ((waitval = _wait(&exitstatus)) != pid) {
if (waitval == -1) break;
}
if (waitval == -1) {