Index: webrtc/base/thread.h |
diff --git a/webrtc/base/thread.h b/webrtc/base/thread.h |
index e9bb3249ea809f9b963d58a3a65d932a3e2d3be7..16810a1749456a23b2fa650968269536fcfc43b8 100644 |
--- a/webrtc/base/thread.h |
+++ b/webrtc/base/thread.h |
@@ -311,21 +311,21 @@ class AutoThread : public Thread { |
RTC_DISALLOW_COPY_AND_ASSIGN(AutoThread); |
}; |
-// Provides an easy way to install/uninstall a socketserver on a thread. |
-class SocketServerScope { |
+// AutoSocketServerThread automatically installs itself at |
+// construction uninstalls at destruction. If a Thread object is |
+// already associated with the current OS thread, it is temporarily |
+// disassociated and restored by the destructor. |
+ |
+class AutoSocketServerThread : public Thread { |
tommi
2017/04/27 13:57:07
if this is only for tests, can we indicate that in
nisse-webrtc
2017/04/27 14:08:56
It's *almost* test-only ;-/
It's used by peerconn
|
public: |
- explicit SocketServerScope(SocketServer* ss) { |
- old_ss_ = Thread::Current()->socketserver(); |
- Thread::Current()->set_socketserver(ss); |
- } |
- ~SocketServerScope() { |
- Thread::Current()->set_socketserver(old_ss_); |
- } |
+ explicit AutoSocketServerThread(SocketServer* ss); |
+ ~AutoSocketServerThread() override; |
private: |
- SocketServer* old_ss_; |
+ private: |
tommi
2017/04/27 13:57:07
super private? :)
nisse-webrtc
2017/04/27 14:08:56
Top-secret! And deleted.
|
+ rtc::Thread* old_thread_; |
- RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SocketServerScope); |
+ RTC_DISALLOW_COPY_AND_ASSIGN(AutoSocketServerThread); |
}; |
} // namespace rtc |