LGTM and thanks.

yours,
anton.

On Wed, Aug 18, 2010 at 7:28 PM,  <[email protected]> wrote:
> Reviewers: antonm,
>
> Description:
> Fix issue 833: eliminate race condition in ProfilerEventsProcessor.
>
> When under a load, the ProfilerEventsProcessor thread can start
> (enter Run) after Stop has been called, thus resetting running_
> data member back to 'true', and starting an infinite loop.
>
> BUG=833
>
> Please review this at http://codereview.chromium.org/3157022/show
>
> Affected files:
>  M src/cpu-profiler.cc
>
>
> Index: src/cpu-profiler.cc
> diff --git a/src/cpu-profiler.cc b/src/cpu-profiler.cc
> index
> 3e554ccebdc9faa9190313feb7374e78312ffb1f..c0ed9297a2dd966a5daf9a5b7046e2ac2601c04a
> 100644
> --- a/src/cpu-profiler.cc
> +++ b/src/cpu-profiler.cc
> @@ -46,7 +46,7 @@ static const int kTickSamplesBufferChunksCount = 16;
>
>  ProfilerEventsProcessor::ProfilerEventsProcessor(ProfileGenerator*
> generator)
>     : generator_(generator),
> -      running_(false),
> +      running_(true),
>       ticks_buffer_(sizeof(TickSampleEventRecord),
>                     kTickSamplesBufferChunkSize,
>                     kTickSamplesBufferChunksCount),
> @@ -247,7 +247,6 @@ bool ProfilerEventsProcessor::ProcessTicks(unsigned
> dequeue_order) {
>
>  void ProfilerEventsProcessor::Run() {
>   unsigned dequeue_order = 0;
> -  running_ = true;
>
>   while (running_) {
>     // Process ticks until we have any.
>
>
>

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to