svn commit: r331354 - user/pho/stress2/misc

Peter Holm pho at FreeBSD.org
Thu Mar 22 12:01:31 UTC 2018


Author: pho
Date: Thu Mar 22 12:01:30 2018
New Revision: 331354
URL: https://svnweb.freebsd.org/changeset/base/331354

Log:
  Changed wait for child to run from 200us to 1s to suppress infrequent error
  message from killpg(2). Style fixes while here.
  
  Sponsored by:	Dell EMC Isilon

Modified:
  user/pho/stress2/misc/killpg.sh

Modified: user/pho/stress2/misc/killpg.sh
==============================================================================
--- user/pho/stress2/misc/killpg.sh	Thu Mar 22 11:57:59 2018	(r331353)
+++ user/pho/stress2/misc/killpg.sh	Thu Mar 22 12:01:30 2018	(r331354)
@@ -38,7 +38,7 @@
 here=`pwd`
 cd /tmp
 sed '1,/^EOF/d' < $here/$0 > killpg.c
-mycc -o killpg -Wall -Wextra killpg.c
+mycc -o killpg -Wall -Wextra killpg.c || exit 1
 rm -f killpg.c
 
 /tmp/killpg
@@ -47,6 +47,8 @@ rm -f /tmp/killpg
 exit 0
 EOF
 #include <sys/types.h>
+#include <sys/wait.h>
+
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -54,10 +56,9 @@ EOF
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <sys/wait.h>
 #include <unistd.h>
 
-pid_t gid, pid;
+static pid_t gid, pid;
 
 #define LOOPS 100
 
@@ -66,7 +67,7 @@ hand(int i __unused) {	/* handler */
 	_exit(0);
 }
 
-void
+static void
 nlooper(void)
 {
 	int i;
@@ -85,7 +86,7 @@ nlooper(void)
 	_exit(0);
 }
 
-void
+static void
 looper(void)
 {
 	int i;
@@ -105,11 +106,10 @@ looper(void)
 	_exit(0);
 }
 
-void
+static void
 killer(void)
 {
 	struct passwd *pw;
-	int i;
 
 	setproctitle("killer");
 	if ((pw = getpwnam("nobody")) == NULL)
@@ -124,14 +124,8 @@ killer(void)
 	if ((gid = fork()) == 0)
 		nlooper();	/* nobody looper */
 
-	usleep(200);
-	i = 0;
-	for (;;) {
-		if (i++ > 1000) {
-			if (access("cont", R_OK) == -1)
-				break;
-			i = 0;
-		}
+	sleep(1);
+	while (access("cont", R_OK) == 0) {
 		if (killpg(gid, SIGINFO) == -1) {
 			if (errno == EPERM)
 				continue;


More information about the svn-src-user mailing list