You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
719 B
C
38 lines
719 B
C
// Copyright 2007 - 2021, Alan Antonuk and the rabbitmq-c contributors.
|
|
// SPDX-License-Identifier: mit
|
|
|
|
#include "threads.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
DWORD pthread_self(void) { return GetCurrentThreadId(); }
|
|
|
|
int pthread_mutex_init(pthread_mutex_t *mutex, void *attr) {
|
|
if (!mutex) {
|
|
return 1;
|
|
}
|
|
InitializeSRWLock(mutex);
|
|
return 0;
|
|
}
|
|
|
|
int pthread_mutex_lock(pthread_mutex_t *mutex) {
|
|
if (!mutex) {
|
|
return 1;
|
|
}
|
|
AcquireSRWLockExclusive(mutex);
|
|
return 0;
|
|
}
|
|
|
|
int pthread_mutex_unlock(pthread_mutex_t *mutex) {
|
|
if (!mutex) {
|
|
return 1;
|
|
}
|
|
ReleaseSRWLockExclusive(mutex);
|
|
return 0;
|
|
}
|
|
|
|
int pthread_mutex_destroy(pthread_mutex_t *mutex) {
|
|
/* SRW's do not require destruction. */
|
|
return 0;
|
|
}
|