aboutsummaryrefslogtreecommitdiffstats
path: root/databases/firebird20-server/files
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2003-12-05 01:32:30 +0800
committernetchild <netchild@FreeBSD.org>2003-12-05 01:32:30 +0800
commit1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d (patch)
tree78781e76e8dc3352763c6f19ff83e31a29d8d5e6 /databases/firebird20-server/files
parent888cba9c23a2b2b90ea050a97eea4d82d2799c72 (diff)
downloadfreebsd-ports-gnome-1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d.tar.gz
freebsd-ports-gnome-1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d.tar.zst
freebsd-ports-gnome-1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d.zip
Add missing patches for the 1.5.r7 update.
Diffstat (limited to 'databases/firebird20-server/files')
-rw-r--r--databases/firebird20-server/files/patch-src::common::classes::locks.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/databases/firebird20-server/files/patch-src::common::classes::locks.h b/databases/firebird20-server/files/patch-src::common::classes::locks.h
new file mode 100644
index 000000000000..e2948dd4bbd2
--- /dev/null
+++ b/databases/firebird20-server/files/patch-src::common::classes::locks.h
@@ -0,0 +1,49 @@
+--- src/common/classes/locks.h.orig Sun Aug 17 14:56:47 2003
++++ src/common/classes/locks.h Wed Nov 12 11:12:25 2003
+@@ -77,7 +77,7 @@
+
+ /* Process-local spinlock. Used to manage memory heaps in threaded environment. */
+ // Pthreads version of the class
+-#ifndef SOLARIS
++#if !defined(SOLARIS) && !defined(DARWIN) && !defined(FREEBSD)
+ class Spinlock {
+ private:
+ pthread_spinlock_t spinlock;
+@@ -100,6 +100,7 @@
+ }
+ };
+ #else
++#ifdef SOLARIS
+ // Who knows why Solaris 2.6 have not THIS funny spins?
+ //The next code is not comlpeted but let me compile //Konstantin
+ class Spinlock {
+@@ -123,6 +124,29 @@
+ system_call_failed::raise();
+ }
+ };
++#else // DARWIN and FREEBSD
++class Spinlock {
++private:
++ pthread_mutex_t mlock;
++public:
++ Spinlock() {
++ if (pthread_mutex_init(&mlock, 0))
++ system_call_failed::raise();
++ }
++ ~Spinlock() {
++ if (pthread_mutex_destroy(&mlock))
++ system_call_failed::raise();
++ }
++ void enter() {
++ if (pthread_mutex_lock(&mlock))
++ system_call_failed::raise();
++ }
++ void leave() {
++ if (pthread_mutex_unlock(&mlock))
++ system_call_failed::raise();
++ }
++};
++#endif
+
+ #endif
+ #endif