summaryrefslogtreecommitdiff
path: root/lang/see/files/patch-libsee_dtoa.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/see/files/patch-libsee_dtoa.c')
-rw-r--r--lang/see/files/patch-libsee_dtoa.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lang/see/files/patch-libsee_dtoa.c b/lang/see/files/patch-libsee_dtoa.c
new file mode 100644
index 000000000000..d41a5da30863
--- /dev/null
+++ b/lang/see/files/patch-libsee_dtoa.c
@@ -0,0 +1,24 @@
+--- libsee/dtoa.c.orig 2005-12-24 04:35:38.000000000 +0100
++++ libsee/dtoa.c 2008-04-07 11:30:11.529829910 +0200
+@@ -168,6 +168,11 @@
+ * the result overflows to +-Infinity or underflows to 0.
+ */
+
++#ifdef MULTIPLE_THREADS
++#include <pthread.h>
++static pthread_mutex_t mylock[2] = { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER };
++#endif
++
+ #ifndef Long
+ #define Long long
+ #endif
+@@ -470,6 +475,9 @@
+ #ifndef MULTIPLE_THREADS
+ #define ACQUIRE_DTOA_LOCK(n) /*nothing*/
+ #define FREE_DTOA_LOCK(n) /*nothing*/
++#else
++#define ACQUIRE_DTOA_LOCK(n) pthread_mutex_lock(&mylock[n]);
++#define FREE_DTOA_LOCK(n) pthread_mutex_unlock(&mylock[n]);
+ #endif
+
+ #define Kmax 15