diff options
author | Bryan Ischo <bryan@ischo.com> | 2008-08-12 13:04:10 +0000 |
---|---|---|
committer | Bryan Ischo <bryan@ischo.com> | 2008-08-12 13:04:10 +0000 |
commit | 06fcf9839f35d1bbac18819886375b8232d73f35 (patch) | |
tree | b336da3212c8846f7dddaf6297ea153f124ecbd4 /inc | |
parent | 953d590bd9a3508d37552efb89aaa68344466d80 (diff) | |
download | ceph-libs3-06fcf9839f35d1bbac18819886375b8232d73f35.tar.gz |
* Implement required pthreads functions for Windows
Diffstat (limited to 'inc')
-rw-r--r-- | inc/mingw/pthread.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/inc/mingw/pthread.h b/inc/mingw/pthread.h new file mode 100644 index 0000000..b1bd419 --- /dev/null +++ b/inc/mingw/pthread.h @@ -0,0 +1,45 @@ +/** ************************************************************************** + * pthread.h + * + * Copyright 2008 Bryan Ischo <bryan@ischo.com> + * + * This file is part of libs3. + * + * libs3 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, version 3 of the License. + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of this library and its programs with the + * OpenSSL library, and distribute linked combinations including the two. + * + * libs3 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 version 3 + * along with libs3, in a file named COPYING. If not, see + * <http://www.gnu.org/licenses/>. + * + ************************************************************************** **/ + +#ifndef PTHREAD_H +#define PTHREAD_H + +// This is a minimal implementation of pthreads on Windows, implementing just +// the APIs needed by libs3 + +unsigned long pthread_self(); + +typedef struct +{ + CRITICAL_SECTION criticalSection; +} pthread_mutex_t; + +void pthread_mutex_init(pthread_mutex_t *mutex, void *); +void pthread_mutex_lock(pthread_mutex_t *mutex); +void pthread_mutex_unlock(pthread_mutex_t *mutex); +void pthread_mutex_destroy(pthread_mutex_t *mutex); + +#endif /* PTHREAD_H */ |