Chromium Code Reviews| Index: webrtc/base/thread.h |
| diff --git a/webrtc/base/thread.h b/webrtc/base/thread.h |
| index df5a686952f4efe49ea3873a844d245016b8c218..7928c934d4dc085fc39caca8cbdaab24b3def807 100644 |
| --- a/webrtc/base/thread.h |
| +++ b/webrtc/base/thread.h |
| @@ -99,7 +99,8 @@ class Thread : public MessageQueue { |
| // DoInit() from their constructor to prevent races with the |
| // MessageQueueManager already using the object while the vtable is still |
| // being created. |
| - explicit Thread(SocketServer* ss = nullptr, bool init_queue = true); |
| + Thread(); |
| + explicit Thread(SocketServer* ss); |
|
tommi
2016/04/27 12:45:25
Down the line, I think it would be good if the soc
danilchap
2016/04/27 15:08:55
I see this cl as a small step towards that goal.
|
| // NOTE: ALL SUBCLASSES OF Thread MUST CALL Stop() IN THEIR DESTRUCTORS (or |
| // guarantee Stop() is explicitly called before the subclass is destroyed). |
| @@ -107,6 +108,8 @@ class Thread : public MessageQueue { |
| // vtable, and the Thread::PreRun calling the virtual method Run(). |
| ~Thread() override; |
| + static std::unique_ptr<Thread> CreateWithSocketServer(); |
| + static std::unique_ptr<Thread> Create(); |
| static Thread* Current(); |
| // Used to catch performance regressions. Use this to disallow blocking calls |
| @@ -224,6 +227,9 @@ class Thread : public MessageQueue { |
| void UnwrapCurrent(); |
| protected: |
| + Thread(SocketServer* ss, bool init_queue); |
| + Thread(std::unique_ptr<SocketServer> ss, bool init_queue); |
| + |
| // Same as WrapCurrent except that it never fails as it does not try to |
| // acquire the synchronization access of the thread. The caller should never |
| // call Stop() or Join() on this thread. |
| @@ -291,7 +297,7 @@ class Thread : public MessageQueue { |
| class AutoThread : public Thread { |
| public: |
| - explicit AutoThread(SocketServer* ss = nullptr); |
| + AutoThread(); |
| ~AutoThread() override; |
| private: |