diff options
author | unknown <svoj@mysql.com> | 2005-04-28 18:23:27 +0500 |
---|---|---|
committer | unknown <svoj@mysql.com> | 2005-04-28 18:23:27 +0500 |
commit | e28bf9ef5e6a4240755349a73094bc43806faa9f (patch) | |
tree | faf48fd8da1c6b1e9b69a5e89ebff26bb440b34b /extra/yassl/include/lock.hpp | |
parent | b790a34805664e43c37d2b064722ff3ee7d79ad7 (diff) | |
download | mariadb-git-e28bf9ef5e6a4240755349a73094bc43806faa9f.tar.gz |
WL#2286 Compile MySQL w/YASSL support
yaSSL-0.9.7 library bundled.
BUILD/Makefile.am:
compile-pentium-debug-yassl added to distribution.
Makefile.am:
Added yassl_dir to SUBDIRS. It contains path to yassl distribution if --with-yassl
specified. It is empty otherwise.
configure.in:
yaSSL CHECK-function call.
extra/Makefile.am:
yaSSL added to distribution.
include/violite.h:
YASSL_MYSQL_COMPATIBLE macro must be defined to make yassl headers compatible.
Diffstat (limited to 'extra/yassl/include/lock.hpp')
-rw-r--r-- | extra/yassl/include/lock.hpp | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/extra/yassl/include/lock.hpp b/extra/yassl/include/lock.hpp new file mode 100644 index 00000000000..11a623879d4 --- /dev/null +++ b/extra/yassl/include/lock.hpp @@ -0,0 +1,90 @@ +/* lock.hpp + * + * Copyright (C) 2003 Sawtooth Consulting Ltd. + * + * This file is part of yaSSL. + * + * yaSSL is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * yaSSL is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +/* lock.hpp provides an os specific Lock, locks mutex on entry and unlocks + * automatically upon exit, no-ops provided for Single Threaded +*/ + +#ifndef yaSSL_LOCK_HPP +#define yaSSL_LOCK_HPP + + +namespace yaSSL { + + +#ifdef MULTI_THREADED + #ifdef WIN32 + #include <windows.h> + + class Mutex { + CRITICAL_SECTION cs_; + public: + Mutex(); + ~Mutex(); + + class Lock; + friend class Lock; + + class Lock { + Mutex& mutex_; + public: + explicit Lock(Mutex& lm); + ~Lock(); + }; + }; + #else // WIN32 + #include <pthread.h> + + class Mutex { + pthread_mutex_t mutex_; + public: + + Mutex(); + ~Mutex(); + + class Lock; + friend class Lock; + + class Lock { + Mutex& mutex_; + public: + explicit Lock(Mutex& lm); + ~Lock(); + }; + }; + + #endif // WIN32 +#else // MULTI_THREADED (WE'RE SINGLE) + + class Mutex { + public: + class Lock { + public: + explicit Lock(Mutex&) {} + }; + }; + +#endif // MULTI_THREADED + + + +} // namespace +#endif // yaSSL_LOCK_HPP |