Imported from 6.824 labs
[invirt/third/libt4.git] / srlock.h
1 #ifndef srlock_h
2 #define srlock_h
3
4 #include "lock_protocol.h"
5 #include "lock_client.h"
6
7 class ScopedRemoteLock {
8     protected:
9         lock_client *lc_;
10         lock_protocol::lockid_t lid_;
11         bool releaseOnFree;
12     public:
13         ScopedRemoteLock(lock_client *, lock_protocol::lockid_t);
14         void retain();
15         ~ScopedRemoteLock();
16 };
17
18 #endif