diff options
author | Alexander Leidinger <netchild@FreeBSD.org> | 2003-12-04 17:34:21 +0000 |
---|---|---|
committer | Alexander Leidinger <netchild@FreeBSD.org> | 2003-12-04 17:34:21 +0000 |
commit | ea7d06de9102477b334d82b5b9617fdbefe1ec89 (patch) | |
tree | 010f6253bb4c0f6be3bcb32f6489cdb9b501d351 /databases/firebird-devel/files/patch-src::common::classes::locks.h | |
parent | Add missing patches for the 1.5.r7 update. (diff) |
- Update to 2.0.a0.
- Previous maintainer is now tha actual maintainer again.
- No package at the moment.
PR: 59001
Submitted by: chris@e-easy.com.au
Notes
Notes:
svn path=/head/; revision=95039
Diffstat (limited to '')
-rw-r--r-- | databases/firebird-devel/files/patch-src::common::classes::locks.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/databases/firebird-devel/files/patch-src::common::classes::locks.h b/databases/firebird-devel/files/patch-src::common::classes::locks.h new file mode 100644 index 000000000000..e2948dd4bbd2 --- /dev/null +++ b/databases/firebird-devel/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 |