summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco S Hyman <marc@cvs.openbsd.org>2002-12-08 04:16:20 +0000
committerMarco S Hyman <marc@cvs.openbsd.org>2002-12-08 04:16:20 +0000
commit88e501796de76b5e610e88a164f6a5e7f5db5f99 (patch)
tree781fa5c15e0a3af75811501207c03c11e93152be
parent0e201a5dfc0dc465044ac5c83a1e654c2a4734b2 (diff)
comment out bogus portion of test until I figure
a better way to test the condition it is trying to test. Solves malloc.conf -> J problem.
-rw-r--r--regress/lib/libc_r/fork/fork.c12
-rw-r--r--regress/lib/libpthread/fork/fork.c12
2 files changed, 22 insertions, 2 deletions
diff --git a/regress/lib/libc_r/fork/fork.c b/regress/lib/libc_r/fork/fork.c
index b560cf20fa8..3a5d9ac24cd 100644
--- a/regress/lib/libc_r/fork/fork.c
+++ b/regress/lib/libc_r/fork/fork.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fork.c,v 1.2 2001/09/20 16:43:15 todd Exp $ */
+/* $OpenBSD: fork.c,v 1.3 2002/12/08 04:16:19 marc Exp $ */
/*
* Copyright (c) 1993, 1994, 1995, 1996 by Chris Provenzano and contributors,
* proven@mit.edu All rights reserved.
@@ -99,8 +99,18 @@ main()
ASSERT(getpid() != parent_pid);
/* Our sleeper thread should have disappeared */
printf("sleeper should have disappeared\n");
+
+ /*
+ * The following is bogus. The sleeper thread was
+ * freed before the fork returned. Calling pthread_join
+ * dereferences the 'sleeper_thread' pointer which no
+ * longer points to a valid thread structure. If the
+ * function returns ESRCH it's only because the freed
+ * memory hasn't been reused yet.
ASSERT(ESRCH == pthread_join(sleeper_thread, &result));
printf("sleeper disappeared correctly\n");
+ */
+
/* Test starting another thread */
CHECKr(pthread_create(&sleeper_thread, NULL, empty, NULL));
sleep(1);
diff --git a/regress/lib/libpthread/fork/fork.c b/regress/lib/libpthread/fork/fork.c
index b560cf20fa8..3a5d9ac24cd 100644
--- a/regress/lib/libpthread/fork/fork.c
+++ b/regress/lib/libpthread/fork/fork.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fork.c,v 1.2 2001/09/20 16:43:15 todd Exp $ */
+/* $OpenBSD: fork.c,v 1.3 2002/12/08 04:16:19 marc Exp $ */
/*
* Copyright (c) 1993, 1994, 1995, 1996 by Chris Provenzano and contributors,
* proven@mit.edu All rights reserved.
@@ -99,8 +99,18 @@ main()
ASSERT(getpid() != parent_pid);
/* Our sleeper thread should have disappeared */
printf("sleeper should have disappeared\n");
+
+ /*
+ * The following is bogus. The sleeper thread was
+ * freed before the fork returned. Calling pthread_join
+ * dereferences the 'sleeper_thread' pointer which no
+ * longer points to a valid thread structure. If the
+ * function returns ESRCH it's only because the freed
+ * memory hasn't been reused yet.
ASSERT(ESRCH == pthread_join(sleeper_thread, &result));
printf("sleeper disappeared correctly\n");
+ */
+
/* Test starting another thread */
CHECKr(pthread_create(&sleeper_thread, NULL, empty, NULL));
sleep(1);