]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OpTracker: include a destructor for the TrackedOp base class.
authorGreg Farnum <greg@inktank.com>
Thu, 19 Sep 2013 23:50:34 +0000 (16:50 -0700)
committerGreg Farnum <greg@inktank.com>
Fri, 20 Sep 2013 01:15:00 +0000 (18:15 -0700)
Our method of handling the OpRequest destructor is a little weird,
but we're about to get rid of the request member finagling.

Signed-off-by: Greg Farnum <greg@inktank.com>
src/common/TrackedOp.h
src/osd/OpRequest.h

index b10485528ab939266c24b702ad09d20215e39799..59e3c6288ccf92e1366c2f46598a87d477daae83 100644 (file)
@@ -141,7 +141,7 @@ protected:
   virtual void init_from_message() {};
 
 public:
-  virtual ~TrackedOp() {}
+  virtual ~TrackedOp() { if (request) request->put(); }
 
   utime_t get_arrived() const {
     return received_time;
index 18bfe1a1d0778ed2596789d2736b6eccce5c9272..6d572e0f015620a66a8acd80dcf9a050055d0e6d 100644 (file)
@@ -78,6 +78,7 @@ public:
   ~OpRequest() {
     assert(request);
     request->put();
+    request = NULL;
   }
 
   bool been_queued_for_pg() { return hit_flag_points & flag_queued_for_pg; }