summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schultz <das@FreeBSD.org>2003-06-21 08:20:14 +0000
committerDavid Schultz <das@FreeBSD.org>2003-06-21 08:20:14 +0000
commitd086ded32300bc0f33fb1574d0bcfccfbc60881d (patch)
treed851717b2c4ca09e2801c78aeea0be4bbd432fdb
parent97679e71b0bb9261412b5b8721ba5479657856cb (diff)
Notes
-rw-r--r--contrib/gdtoa/gdtoaimp.h19
-rw-r--r--lib/libc/gdtoa/glue.c7
2 files changed, 16 insertions, 10 deletions
diff --git a/contrib/gdtoa/gdtoaimp.h b/contrib/gdtoa/gdtoaimp.h
index 3048656fb694..0c4a93631ec4 100644
--- a/contrib/gdtoa/gdtoaimp.h
+++ b/contrib/gdtoa/gdtoaimp.h
@@ -188,7 +188,10 @@ THIS SOFTWARE.
#include "stdlib.h"
#include "string.h"
#include "libc_private.h"
-#include "spinlock.h"
+
+#include "namespace.h"
+#include <pthread.h>
+#include "un-namespace.h"
#ifdef KR_headers
#define Char char
@@ -465,14 +468,14 @@ extern double rnd_prod(double, double), rnd_quot(double, double);
#endif
#define MULTIPLE_THREADS
-extern spinlock_t __gdtoa_locks[2];
-#define ACQUIRE_DTOA_LOCK(n) do { \
- if (__isthreaded) \
- _SPINLOCK(&__gdtoa_locks[n]); \
+extern pthread_mutex_t __gdtoa_locks[2];
+#define ACQUIRE_DTOA_LOCK(n) do { \
+ if (__isthreaded) \
+ _pthread_mutex_lock(&__gdtoa_locks[n]); \
} while(0)
-#define FREE_DTOA_LOCK(n) do { \
- if (__isthreaded) \
- _SPINUNLOCK(&__gdtoa_locks[n]); \
+#define FREE_DTOA_LOCK(n) do { \
+ if (__isthreaded) \
+ _pthread_mutex_unlock(&__gdtoa_locks[n]); \
} while(0)
#define Kmax 15
diff --git a/lib/libc/gdtoa/glue.c b/lib/libc/gdtoa/glue.c
index b58741258241..39e491a7a277 100644
--- a/lib/libc/gdtoa/glue.c
+++ b/lib/libc/gdtoa/glue.c
@@ -5,6 +5,9 @@
* $FreeBSD$
*/
-#include "spinlock.h"
+#include <pthread.h>
-spinlock_t __gdtoa_locks[2];
+pthread_mutex_t __gdtoa_locks[] = {
+ PTHREAD_MUTEX_INITIALIZER,
+ PTHREAD_MUTEX_INITIALIZER
+};