Sat Mar 10 18:01:10 2012 UTC ()
Use correct size.


(joerg)
diff -r1.129 -r1.130 src/lib/libpthread/pthread.c
diff -r1.23 -r1.24 src/lib/libpthread/sem.c

cvs diff -r1.129 -r1.130 src/lib/libpthread/pthread.c (expand / switch to context diff)
--- src/lib/libpthread/pthread.c 2012/03/09 12:06:44 1.129
+++ src/lib/libpthread/pthread.c 2012/03/10 18:01:10 1.130
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread.c,v 1.129 2012/03/09 12:06:44 drochner Exp $	*/
+/*	$NetBSD: pthread.c,v 1.130 2012/03/10 18:01:10 joerg Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2002, 2003, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: pthread.c,v 1.129 2012/03/09 12:06:44 drochner Exp $");
+__RCSID("$NetBSD: pthread.c,v 1.130 2012/03/10 18:01:10 joerg Exp $");
 
 #define	__EXPOSE_STACK	1
 
@@ -339,7 +339,7 @@
 			return ENOMEM;
 		mapped_stack = true;
 	}
-	newthread->pt_stack.ss_size = pthread__stacksize - pthread__pagesize;
+	newthread->pt_stack.ss_size = stacksize - pthread__pagesize;
 	newthread->pt_stack.ss_sp = stackbase;
 #ifdef __MACHINE_STACK_GROWS_UP
 	redzone = (char *)stackbase + newthread->pt_stack.ss_size;

cvs diff -r1.23 -r1.24 src/lib/libpthread/Attic/sem.c (expand / switch to context diff)
--- src/lib/libpthread/Attic/sem.c 2012/03/08 21:59:28 1.23
+++ src/lib/libpthread/Attic/sem.c 2012/03/10 18:01:10 1.24
@@ -1,4 +1,4 @@
-/*	$NetBSD: sem.c,v 1.23 2012/03/08 21:59:28 joerg Exp $	*/
+/*	$NetBSD: sem.c,v 1.24 2012/03/10 18:01:10 joerg Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2006, 2007 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: sem.c,v 1.23 2012/03/08 21:59:28 joerg Exp $");
+__RCSID("$NetBSD: sem.c,v 1.24 2012/03/10 18:01:10 joerg Exp $");
 
 #include <sys/types.h>
 #include <sys/ksem.h>
@@ -135,6 +135,7 @@
 int
 sem_destroy(sem_t *sem)
 {
+	int error, save_errno;
 
 #ifdef ERRORCHECK
 	if (sem == NULL || *sem == NULL || (*sem)->ksem_magic != KSEM_MAGIC) {
@@ -143,12 +144,12 @@
 	}
 #endif
 
-	if (_ksem_destroy((*sem)->ksem_semid) == -1)
-		return (-1);
-
+	error = _ksem_destroy((*sem)->ksem_semid);
+	save_errno = errno;
 	sem_free(*sem);
+	errno = save_errno;
 
-	return (0);
+	return error;
 }
 
 sem_t *
@@ -218,6 +219,7 @@
 int
 sem_close(sem_t *sem)
 {
+	int error, save_errno;
 
 #ifdef ERRORCHECK
 	if (sem == NULL || *sem == NULL || (*sem)->ksem_magic != KSEM_MAGIC) {
@@ -227,16 +229,14 @@
 #endif
 
 	pthread_mutex_lock(&named_sems_mtx);
-	if (_ksem_close((*sem)->ksem_semid) == -1) {
-		pthread_mutex_unlock(&named_sems_mtx);
-		return (-1);
-	}
-
+	error = _ksem_close((*sem)->ksem_semid);
 	LIST_REMOVE((*sem), ksem_list);
+	save_errno = errno;
 	pthread_mutex_unlock(&named_sems_mtx);
 	sem_free(*sem);
 	free(sem);
-	return (0);
+	errno = save_errno;
+	return error;
 }
 
 int