Reviewers: Jakob,

Description:
Make sure semaphore used in Profiler is deleted

BUG=None

Please review this at https://codereview.chromium.org/23420004/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/log.cc


Index: src/log.cc
diff --git a/src/log.cc b/src/log.cc
index 1ddfd42cb31921008f3f5727ffe282773a7279c7..ff67d10868afa578561d4097d7d8f7fec0b7e08d 100644
--- a/src/log.cc
+++ b/src/log.cc
@@ -560,6 +560,14 @@ class Profiler: public Thread {
     }
   }

+  virtual void Run();
+
+  // Pause and Resume TickSample data collection.
+  bool paused() const { return paused_; }
+  void pause() { paused_ = true; }
+  void resume() { paused_ = false; }
+
+ private:
   // Waits for a signal and removes profiling data.
   bool Remove(TickSample* sample) {
     buffer_semaphore_->Wait();  // Wait for an element.
@@ -570,14 +578,6 @@ class Profiler: public Thread {
     return result;
   }

-  void Run();
-
-  // Pause and Resume TickSample data collection.
-  bool paused() const { return paused_; }
-  void pause() { paused_ = true; }
-  void resume() { paused_ = false; }
-
- private:
   // Returns the next index in the cyclic buffer.
   int Succ(int index) { return (index + 1) % kBufferSize; }

@@ -589,7 +589,8 @@ class Profiler: public Thread {
   int head_;  // Index to the buffer head.
   int tail_;  // Index to the buffer tail.
   bool overflow_;  // Tell whether a buffer overflow has occurred.
- Semaphore* buffer_semaphore_; // Sempahore used for buffer synchronization.
+  // Sempahore used for buffer synchronization.
+  SmartPointer<Semaphore> buffer_semaphore_;

// Tells whether profiler is engaged, that is, processing thread is stated.
   bool engaged_;


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to