Fixed a race condition!
[invirt/third/libt4.git] / handle.h
index d4b6223..f4df61a 100644 (file)
--- a/handle.h
+++ b/handle.h
@@ -30,10 +30,9 @@ class hinfo;
 
 class handle {
     private:
-        hinfo *h;
+        shared_ptr<hinfo> h;
     public:
         handle(const string & m);
-        ~handle();
         /* safebind will try to bind with the rpc server on the first call.
          * Since bind may block, the caller probably should not hold a mutex
          * when calling safebind.
@@ -53,6 +52,8 @@ class handle {
          *   }
          */
         rpcc *safebind();
+
+        void invalidate();
 };
 
 void invalidate_handle(const string & m);