diff options
Diffstat (limited to 'netfs/daemon.h')
-rw-r--r-- | netfs/daemon.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/netfs/daemon.h b/netfs/daemon.h index f3499c0..1f4fc64 100644 --- a/netfs/daemon.h +++ b/netfs/daemon.h @@ -55,11 +55,16 @@ class NetFSDaemon : public IceBox::Service { class SessionPtr { public: - SessionPtr(boost::intrusive_ptr<DaemonGlobalState::Session> ptr); - DaemonGlobalState::Session * operator->(); + SessionPtr(boost::intrusive_ptr<DaemonGlobalState::Session> ptr, bool lock); + ~SessionPtr(); + + DaemonGlobalState::Session * operator->() const; + + void lock() const; + void unlock() const; private: - boost::intrusive_ptr<DaemonGlobalState::Session> ptr; - boost::lock_guard<boost::mutex> lg; + const boost::intrusive_ptr<DaemonGlobalState::Session> ptr; + mutable bool doUnlock; }; class TempPrivs { |