| Index: src/platform-freebsd.cc | 
| diff --git a/src/platform-freebsd.cc b/src/platform-freebsd.cc | 
| index 14f7171a3cf7f33fb349bff7a65ad3d978ed117e..8c2e397ebad71ce955ca04a4c2777a9839bd909f 100644 | 
| --- a/src/platform-freebsd.cc | 
| +++ b/src/platform-freebsd.cc | 
| @@ -500,7 +500,8 @@ class Thread::PlatformData : public Malloced { | 
|  | 
| Thread::Thread(const Options& options) | 
| : data_(new PlatformData), | 
| -      stack_size_(options.stack_size()) { | 
| +      stack_size_(options.stack_size()), | 
| +      start_semaphore_(NULL) { | 
| set_name(options.name()); | 
| } | 
|  | 
| @@ -517,7 +518,7 @@ static void* ThreadEntry(void* arg) { | 
| // one) so we initialize it here too. | 
| thread->data()->thread_ = pthread_self(); | 
| ASSERT(thread->data()->thread_ != kNoThread); | 
| -  thread->Run(); | 
| +  thread->NotifyStartedAndRun(); | 
| return NULL; | 
| } | 
|  | 
| @@ -765,7 +766,7 @@ class SignalSender : public Thread { | 
|  | 
| // Start a thread that sends SIGPROF signal to VM threads. | 
| instance_ = new SignalSender(sampler->interval()); | 
| -      instance_->Start(); | 
| +      instance_->StartSynchronously(); | 
| } else { | 
| ASSERT(instance_->interval_ == sampler->interval()); | 
| } | 
|  |