From: Steinar H. Gunderson Date: Sat, 6 Apr 2013 12:35:18 +0000 (+0200) Subject: Make a mutex locker. X-Git-Tag: 1.0.0~226 X-Git-Url: https://git.sesse.net/?p=cubemap;a=commitdiff_plain;h=0a1c3b53713cdacc94c43ae1afb955468fff570f Make a mutex locker. --- diff --git a/cubemap.cpp b/cubemap.cpp index b02121d..6095ce5 100644 --- a/cubemap.cpp +++ b/cubemap.cpp @@ -17,9 +17,31 @@ #define STREAM_ID "stream" #define STREAM_URL "http://gruessi.zrh.sesse.net:4013/" #define BACKLOG_SIZE 1048576 +#define PORT 9094 using namespace std; +// Locks a pthread mutex, RAII-style. +class MutexLock { +public: + MutexLock(pthread_mutex_t *mutex); + ~MutexLock(); + +private: + pthread_mutex_t *mutex; +}; + +MutexLock::MutexLock(pthread_mutex_t *mutex) + : mutex(mutex) +{ + pthread_mutex_lock(mutex); +} + +MutexLock::~MutexLock() +{ + pthread_mutex_unlock(mutex); +} + struct Client { enum State { READING_REQUEST, SENDING_HEADER, SENDING_DATA }; State state;