Date: Sun, 30 Sep 2001 00:27:54 +0900 (JST) From: Toshihiko ARAI <toshi@jp.FreeBSD.org> To: freebsd-hackers@FreeBSD.org Subject: Doubt of system(3) Message-ID: <200109291527.f8TFRrU76727.toshi@jp.FreeBSD.org>
next in thread | raw e-mail | index | archive | help
I consider the following code of system(3). pid is changed by return
value of _wait4(). I feel this need a correction.
default: /* parent */
do {
pid = _wait4(pid, &pstat, 0, (struct rusage *)0);
} while (pid == -1 && errno == EINTR);
break;
Please review and commit this patch.
Index: src/lib/libc/stdlib/system.c
===================================================================
RCS file: /home/ncvs/src/lib/libc/stdlib/system.c,v
retrieving revision 1.7
diff -u -r1.7 system.c
--- src/lib/libc/stdlib/system.c 2001/01/24 13:00:59 1.7
+++ src/lib/libc/stdlib/system.c 2001/09/29 08:53:14
@@ -86,9 +86,9 @@
execl(_PATH_BSHELL, "sh", "-c", command, (char *)NULL);
_exit(127);
default: /* parent */
- do {
- pid = _wait4(pid, &pstat, 0, (struct rusage *)0);
- } while (pid == -1 && errno == EINTR);
+ while (_wait4(pid, &pstat, 0, (struct rusage *)0) == -1 &&
+ errno == EINTR)
+ ; /* nothing */
break;
}
(void)_sigaction(SIGINT, &intact, NULL);
--
Toshihiko ARAI
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109291527.f8TFRrU76727.toshi>
