Inline lock_util functions
They are just tiny wrappers.
This commit is contained in:
parent
e2a272bf99
commit
5d11339259
3 changed files with 39 additions and 63 deletions
|
@ -10,7 +10,6 @@ src = [
|
||||||
'src/file_handler.c',
|
'src/file_handler.c',
|
||||||
'src/fps_counter.c',
|
'src/fps_counter.c',
|
||||||
'src/input_manager.c',
|
'src/input_manager.c',
|
||||||
'src/lock_util.c',
|
|
||||||
'src/net.c',
|
'src/net.c',
|
||||||
'src/receiver.c',
|
'src/receiver.c',
|
||||||
'src/recorder.c',
|
'src/recorder.c',
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
#include <lock_util.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <SDL2/SDL_mutex.h>
|
|
||||||
|
|
||||||
#include "log.h"
|
|
||||||
|
|
||||||
void
|
|
||||||
mutex_lock(SDL_mutex *mutex) {
|
|
||||||
if (SDL_LockMutex(mutex)) {
|
|
||||||
LOGC("Could not lock mutex");
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
mutex_unlock(SDL_mutex *mutex) {
|
|
||||||
if (SDL_UnlockMutex(mutex)) {
|
|
||||||
LOGC("Could not unlock mutex");
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
cond_wait(SDL_cond *cond, SDL_mutex *mutex) {
|
|
||||||
if (SDL_CondWait(cond, mutex)) {
|
|
||||||
LOGC("Could not wait on condition");
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
cond_wait_timeout(SDL_cond *cond, SDL_mutex *mutex, uint32_t ms) {
|
|
||||||
int r = SDL_CondWaitTimeout(cond, mutex, ms);
|
|
||||||
if (r < 0) {
|
|
||||||
LOGC("Could not wait on condition with timeout");
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
cond_signal(SDL_cond *cond) {
|
|
||||||
if (SDL_CondSignal(cond)) {
|
|
||||||
LOGC("Could not signal a condition");
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -2,25 +2,50 @@
|
||||||
#define LOCKUTIL_H
|
#define LOCKUTIL_H
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <SDL2/SDL_mutex.h>
|
||||||
|
|
||||||
// forward declarations
|
#include "log.h"
|
||||||
typedef struct SDL_mutex SDL_mutex;
|
|
||||||
typedef struct SDL_cond SDL_cond;
|
|
||||||
|
|
||||||
void
|
static inline void
|
||||||
mutex_lock(SDL_mutex *mutex);
|
mutex_lock(SDL_mutex *mutex) {
|
||||||
|
if (SDL_LockMutex(mutex)) {
|
||||||
|
LOGC("Could not lock mutex");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
static inline void
|
||||||
mutex_unlock(SDL_mutex *mutex);
|
mutex_unlock(SDL_mutex *mutex) {
|
||||||
|
if (SDL_UnlockMutex(mutex)) {
|
||||||
|
LOGC("Could not unlock mutex");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
static inline void
|
||||||
cond_wait(SDL_cond *cond, SDL_mutex *mutex);
|
cond_wait(SDL_cond *cond, SDL_mutex *mutex) {
|
||||||
|
if (SDL_CondWait(cond, mutex)) {
|
||||||
|
LOGC("Could not wait on condition");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// return 0 or SDL_MUTEX_TIMEDOUT
|
static inline int
|
||||||
int
|
cond_wait_timeout(SDL_cond *cond, SDL_mutex *mutex, uint32_t ms) {
|
||||||
cond_wait_timeout(SDL_cond *cond, SDL_mutex *mutex, uint32_t ms);
|
int r = SDL_CondWaitTimeout(cond, mutex, ms);
|
||||||
|
if (r < 0) {
|
||||||
|
LOGC("Could not wait on condition with timeout");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
static inline void
|
||||||
cond_signal(SDL_cond *cond);
|
cond_signal(SDL_cond *cond) {
|
||||||
|
if (SDL_CondSignal(cond)) {
|
||||||
|
LOGC("Could not signal a condition");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue