Module Name:    src
Committed By:   dholland
Date:           Mon Nov 21 06:17:20 UTC 2016

Modified Files:
        src/tests/lib/librumpclient: h_execthr.c

Log Message:
If pthread_create fails, report the error instead of discarding it.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/lib/librumpclient/h_execthr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/lib/librumpclient/h_execthr.c
diff -u src/tests/lib/librumpclient/h_execthr.c:1.3 src/tests/lib/librumpclient/h_execthr.c:1.4
--- src/tests/lib/librumpclient/h_execthr.c:1.3	Wed Aug 13 00:03:00 2014
+++ src/tests/lib/librumpclient/h_execthr.c	Mon Nov 21 06:17:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: h_execthr.c,v 1.3 2014/08/13 00:03:00 pooka Exp $	*/
+/*	$NetBSD: h_execthr.c,v 1.4 2016/11/21 06:17:20 dholland Exp $	*/
 
 /*
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -151,15 +151,19 @@ main(int argc, char *argv[], char *envp[
 	if (rump_sys_fcntl(p1[1], F_SETFD, FD_CLOEXEC) == -1)
 		err(1, "cloexec");
 
-	for (i = 0; i < NTHR; i++)
-		if (pthread_create(&pt, NULL,
-		    wrk, (void *)(uintptr_t)p1[0]) != 0)
-			errx(1, "pthread_create 1 %d", i);
+	for (i = 0; i < NTHR; i++) {
+		errno = pthread_create(&pt, NULL,
+		    wrk, (void *)(uintptr_t)p1[0]);
+		if (errno != 0)
+			err(1, "pthread_create 1 %d", i);
+	}
 
-	for (i = 0; i < NTHR; i++)
-		if (pthread_create(&pt, NULL,
-		    wrk, (void *)(uintptr_t)p2[0]) != 0)
-			errx(1, "pthread_create 2 %d", i);
+	for (i = 0; i < NTHR; i++) {
+		errno = pthread_create(&pt, NULL,
+		    wrk, (void *)(uintptr_t)p2[0]);
+		if (errno != 0)
+			err(1, "pthread_create 2 %d", i);
+	}
 
 	/* wait for all the threads to be enjoying themselves */
 	for (;;) {

Reply via email to