From 611fba451752b00d401d415c6ed57e93eb8f3a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Wed, 13 May 2020 14:42:22 +0200 Subject: [PATCH] Mark construction time members of PhysicalSocketServer as const Bug: webrtc:11567 Change-Id: I06d48aa1636ce1dc684e6a1f6332366be9df22d0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175007 Reviewed-by: Karl Wiberg Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/master@{#31242} --- rtc_base/physical_socket_server.cc | 22 +++++++++++++--------- rtc_base/physical_socket_server.h | 6 +++--- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/rtc_base/physical_socket_server.cc b/rtc_base/physical_socket_server.cc index 080534af2c..f52701c28d 100644 --- a/rtc_base/physical_socket_server.cc +++ b/rtc_base/physical_socket_server.cc @@ -1205,22 +1205,26 @@ class Signaler : public EventDispatcher { bool* pf_; }; -PhysicalSocketServer::PhysicalSocketServer() : fWait_(false) { +PhysicalSocketServer::PhysicalSocketServer() + : +#if defined(WEBRTC_USE_EPOLL) + // Since Linux 2.6.8, the size argument is ignored, but must be greater + // than zero. Before that the size served as hint to the kernel for the + // amount of space to initially allocate in internal data structures. + epoll_fd_(epoll_create(FD_SETSIZE)), +#endif +#if defined(WEBRTC_WIN) + socket_ev_(WSACreateEvent()), +#endif + fWait_(false) { #if defined(WEBRTC_USE_EPOLL) - // Since Linux 2.6.8, the size argument is ignored, but must be greater than - // zero. Before that the size served as hint to the kernel for the amount of - // space to initially allocate in internal data structures. - epoll_fd_ = epoll_create(FD_SETSIZE); if (epoll_fd_ == -1) { // Not an error, will fall back to "select" below. RTC_LOG_E(LS_WARNING, EN, errno) << "epoll_create"; - epoll_fd_ = INVALID_SOCKET; + // Note that -1 == INVALID_SOCKET, the alias used by later checks. } #endif signal_wakeup_ = new Signaler(this, &fWait_); -#if defined(WEBRTC_WIN) - socket_ev_ = WSACreateEvent(); -#endif } PhysicalSocketServer::~PhysicalSocketServer() { diff --git a/rtc_base/physical_socket_server.h b/rtc_base/physical_socket_server.h index a71810f3db..01e91f33ce 100644 --- a/rtc_base/physical_socket_server.h +++ b/rtc_base/physical_socket_server.h @@ -117,7 +117,7 @@ class RTC_EXPORT PhysicalSocketServer : public SocketServer { bool WaitEpoll(int cms); bool WaitPoll(int cms, Dispatcher* dispatcher); - int epoll_fd_ = INVALID_SOCKET; + const int epoll_fd_ = INVALID_SOCKET; std::vector epoll_events_; #endif // WEBRTC_USE_EPOLL DispatcherSet dispatchers_; @@ -126,10 +126,10 @@ class RTC_EXPORT PhysicalSocketServer : public SocketServer { bool processing_dispatchers_ = false; Signaler* signal_wakeup_; CriticalSection crit_; - bool fWait_; #if defined(WEBRTC_WIN) - WSAEVENT socket_ev_; + const WSAEVENT socket_ev_; #endif + bool fWait_; }; class PhysicalSocket : public AsyncSocket, public sigslot::has_slots<> {