Use fork() when vfork() isn't available.
authorJohn Carr <jfc@mit.edu>
Sun, 23 Feb 1992 12:21:47 +0000 (12:21 +0000)
committerJohn Carr <jfc@mit.edu>
Sun, 23 Feb 1992 12:21:47 +0000 (12:21 +0000)
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

src/lib/krb5/posix/syslog.c

index d9e2e8a3aae2a03a85c7d486fe48b4779c757809..289057d2da5a879ca2618fe2198a2d47a4b91177 100644 (file)
@@ -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 */