diff options
author | netchild <netchild@FreeBSD.org> | 2003-12-04 17:32:30 +0000 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2003-12-04 17:32:30 +0000 |
commit | 1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d (patch) | |
tree | 78781e76e8dc3352763c6f19ff83e31a29d8d5e6 /databases/firebird | |
parent | 888cba9c23a2b2b90ea050a97eea4d82d2799c72 (diff) | |
download | FreeBSD-ports-1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d.zip FreeBSD-ports-1c80738838a7a17c0c5f9b52a0e9a5dd30714b8d.tar.gz |
Add missing patches for the 1.5.r7 update.
Diffstat (limited to 'databases/firebird')
-rw-r--r-- | databases/firebird/files/patch-src::common::classes::locks.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/databases/firebird/files/patch-src::common::classes::locks.h b/databases/firebird/files/patch-src::common::classes::locks.h new file mode 100644 index 0000000..e2948dd --- /dev/null +++ b/databases/firebird/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 |