mirror of
https://github.com/data61/MP-SPDZ.git
synced 2026-01-09 21:48:11 -05:00
40 lines
421 B
C++
40 lines
421 B
C++
/*
|
|
* Lock.h
|
|
*
|
|
*/
|
|
|
|
#ifndef TOOLS_LOCK_H_
|
|
#define TOOLS_LOCK_H_
|
|
|
|
#include <pthread.h>
|
|
|
|
class Lock
|
|
{
|
|
pthread_mutex_t mutex;
|
|
public:
|
|
Lock();
|
|
virtual ~Lock();
|
|
|
|
void lock();
|
|
void unlock();
|
|
};
|
|
|
|
class ScopeLock
|
|
{
|
|
Lock& lock;
|
|
|
|
public:
|
|
ScopeLock(Lock& lock) :
|
|
lock(lock)
|
|
{
|
|
lock.lock();
|
|
}
|
|
|
|
~ScopeLock()
|
|
{
|
|
lock.unlock();
|
|
}
|
|
};
|
|
|
|
#endif /* TOOLS_LOCK_H_ */
|