Updates:
        Blockedon: 25385

Comment #2 on issue 30960 by [email protected]: Tsan race in  
NetworkChangeNotifierMac
http://code.google.com/p/chromium/issues/detail?id=30960

You're right, this is issue 25385.

Here's the code snippet:
class NetworkChangeNotifierThread : public base::Thread {
  public:
   ...
   ~NetworkChangeNotifierThread();

  protected:
   virtual void Init();
   ...
};

NetworkChangeNotifierThread::~NetworkChangeNotifierThread() {
   notifier_impl_->Shutdown();
   Stop();
}

You call Stop() in the _destructor_ of your subclass.
This is a data race, it happens on destruction of your subclass instances.

In this particular case, it is harmless since you only override Init()  
method, which
is called at startup, not shutdown.
However, if you override the "CleanUp()" method of base::Thread in your  
subclass, the
data race will be very harmful and hard to debug.
Please take a look at http://code.google.com/p/data-race-
test/wiki/PopularDataRaces#Data_race_on_vptr for the example of a harmful  
data race
similar to this.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

-- 
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs

Reply via email to