diff options
| author | John Carr <jfc@mit.edu> | 1992-02-23 12:21:47 +0000 |
|---|---|---|
| committer | John Carr <jfc@mit.edu> | 1992-02-23 12:21:47 +0000 |
| commit | f192c2f4a34f8adb17eb3f0a4c91bb540012b4ea (patch) | |
| tree | 2d946eceb1162a31859551d14a3b6381ce8af6d7 /src | |
| parent | c9e75509941692f858cd19fce2f0c938c486bd0f (diff) | |
| download | krb5-f192c2f4a34f8adb17eb3f0a4c91bb540012b4ea.tar.gz krb5-f192c2f4a34f8adb17eb3f0a4c91bb540012b4ea.tar.xz krb5-f192c2f4a34f8adb17eb3f0a4c91bb540012b4ea.zip | |
Use fork() when vfork() isn't available.
Use "int" instead of "union wait" on SYSV, AIX, and POSIX.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2234 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/krb5/posix/syslog.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/krb5/posix/syslog.c b/src/lib/krb5/posix/syslog.c index d9e2e8a3a..289057d2d 100644 --- a/src/lib/krb5/posix/syslog.c +++ b/src/lib/krb5/posix/syslog.c @@ -153,7 +153,11 @@ vsyslog(pri, fmt, ap) return; /* output the message to the console */ +#if defined(SYSV) || defined(_AIX) + pid = fork(); +#else pid = vfork(); +#endif if (pid == -1) return; if (pid == 0) { @@ -171,8 +175,14 @@ vsyslog(pri, fmt, ap) (void)close(fd); _exit(0); } +#if defined(SYSV) || defined(_AIX) || defined(_POSIX_SOURCE) +#define cast int * +#else +#define cast union wait * +#endif if (!(LogStat & LOG_NOWAIT)) - while ((cnt = wait((union wait *)0)) > 0 && cnt != pid); + while ((cnt = wait((cast)0)) > 0 && cnt != pid); +#undef cast } static struct sockaddr SyslogAddr; /* AF_UNIX address of local logger */ |
