Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Issue 2880923002: Support epoll in PhysicalSocketServer. (Closed)

Created:
3 years, 7 months ago by joachim
Modified:
3 years, 6 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, kwiberg-webrtc
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Support epoll in PhysicalSocketServer. Only will be used if WEBRTC_POSIX and WEBRTC_LINUX are both defined and "epoll_create" doesn't return an error. Otherwise the default "select"-based IO loop will be used. BUG=webrtc:7585 Review-Url: https://codereview.webrtc.org/2880923002 Cr-Commit-Position: refs/heads/master@{#18359} Committed: https://chromium.googlesource.com/external/webrtc/+/de4db1179884d3948a1808f50f6bee9c3d4f3bd7

Patch Set 1 #

Patch Set 2 : Fix for undefined EPOLLRDHUP. #

Total comments: 13

Patch Set 3 : Feedback from Taylor. #

Total comments: 10

Patch Set 4 : More feedback. #

Total comments: 1

Patch Set 5 : Renamed methods, added comment. #

Total comments: 2

Patch Set 6 : Fixed typo. #

Total comments: 2

Patch Set 7 : Defer adding/removing of dispatchers while processing events. #

Total comments: 6

Patch Set 8 : More feedback from Taylor, also use dispatcher set on Windows." #

Patch Set 9 : AddRemovePendingDispatchers is also required on Windows now. #

Patch Set 10 : Win: Prevent updates to dispatcher in loop before waiting. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+518 lines, -90 lines) Patch
M webrtc/base/physicalsocketserver.h View 1 2 3 4 5 6 7 8 5 chunks +45 lines, -9 lines 0 comments Download
M webrtc/base/physicalsocketserver.cc View 1 2 3 4 5 6 7 8 9 14 chunks +473 lines, -81 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 32 (10 generated)
joachim
Ptal I'm not sure how this should be tested. Add a method to force use ...
3 years, 7 months ago (2017-05-13 20:07:07 UTC) #2
Taylor Brandstetter
Looks pretty good, just some minor comments. For testing, I'd say the fact that the ...
3 years, 7 months ago (2017-05-17 07:20:16 UTC) #3
joachim
Thanks for your review, all comments addressed. https://codereview.webrtc.org/2880923002/diff/20001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/20001/webrtc/base/physicalsocketserver.cc#newcode145 webrtc/base/physicalsocketserver.cc:145: SetEnabledEvents(DE_READ | ...
3 years, 7 months ago (2017-05-17 21:17:02 UTC) #4
Taylor Brandstetter
A broader question about this CL (which I should have asked earlier, sorry): what are ...
3 years, 7 months ago (2017-05-17 23:19:02 UTC) #6
zhaoyanfeng
https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc#newcode1336 webrtc/base/physicalsocketserver.cc:1336: } If process_io == false, still use select? That ...
3 years, 7 months ago (2017-05-18 07:46:18 UTC) #8
joachim
See below for some feedback, I will upload a new version later today. https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc File ...
3 years, 7 months ago (2017-05-18 12:41:49 UTC) #9
zhaoyanfeng
https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc#newcode1336 webrtc/base/physicalsocketserver.cc:1336: } On 2017/05/18 12:41:49, joachim wrote: > On 2017/05/18 ...
3 years, 7 months ago (2017-05-18 14:08:37 UTC) #10
joachim
I updated the code to no longer use "select" for waiting on the signal dispatcher. ...
3 years, 7 months ago (2017-05-18 19:31:54 UTC) #11
Taylor Brandstetter
lgtm, with some nits about comments/naming. https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/40001/webrtc/base/physicalsocketserver.cc#newcode804 webrtc/base/physicalsocketserver.cc:804: RestoreEnabledEvents(); On 2017/05/18 ...
3 years, 7 months ago (2017-05-18 21:59:57 UTC) #12
joachim
I renamed the methods and added a comment, ptal. Tommi, ping (Taylor added you in ...
3 years, 7 months ago (2017-05-19 20:46:24 UTC) #13
Taylor Brandstetter
lgtm again. https://codereview.webrtc.org/2880923002/diff/80001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/80001/webrtc/base/physicalsocketserver.cc#newcode787 webrtc/base/physicalsocketserver.cc:787: // would not not be updated with ...
3 years, 7 months ago (2017-05-19 20:52:43 UTC) #14
joachim
https://codereview.webrtc.org/2880923002/diff/80001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/80001/webrtc/base/physicalsocketserver.cc#newcode787 webrtc/base/physicalsocketserver.cc:787: // would not not be updated with the events ...
3 years, 7 months ago (2017-05-19 20:55:43 UTC) #15
tommi
Lgtm, thanks for doing this
3 years, 7 months ago (2017-05-25 12:44:59 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2880923002/100001
3 years, 7 months ago (2017-05-25 13:13:33 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: mac_asan on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_asan/builds/24912)
3 years, 7 months ago (2017-05-25 13:42:44 UTC) #21
Taylor Brandstetter
https://codereview.webrtc.org/2880923002/diff/100001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/100001/webrtc/base/physicalsocketserver.cc#newcode1494 webrtc/base/physicalsocketserver.cc:1494: for (Dispatcher *pdispatcher : dispatchers_) { I think changing ...
3 years, 6 months ago (2017-05-25 16:46:26 UTC) #22
joachim
Ptal https://codereview.webrtc.org/2880923002/diff/100001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/100001/webrtc/base/physicalsocketserver.cc#newcode1494 webrtc/base/physicalsocketserver.cc:1494: for (Dispatcher *pdispatcher : dispatchers_) { On 2017/05/25 ...
3 years, 6 months ago (2017-05-26 17:05:47 UTC) #23
Taylor Brandstetter
https://codereview.webrtc.org/2880923002/diff/120001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/120001/webrtc/base/physicalsocketserver.cc#newcode1434 webrtc/base/physicalsocketserver.cc:1434: for (Dispatcher *pdispatcher : pending_add_dispatchers_) { Should be "Dispatcher* ...
3 years, 6 months ago (2017-05-30 22:05:50 UTC) #24
joachim
All changed, ptal. https://codereview.webrtc.org/2880923002/diff/120001/webrtc/base/physicalsocketserver.cc File webrtc/base/physicalsocketserver.cc (right): https://codereview.webrtc.org/2880923002/diff/120001/webrtc/base/physicalsocketserver.cc#newcode1434 webrtc/base/physicalsocketserver.cc:1434: for (Dispatcher *pdispatcher : pending_add_dispatchers_) { ...
3 years, 6 months ago (2017-05-31 17:18:03 UTC) #25
Taylor Brandstetter
lgtm
3 years, 6 months ago (2017-05-31 18:13:20 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2880923002/180001
3 years, 6 months ago (2017-05-31 19:50:06 UTC) #29
commit-bot: I haz the power
3 years, 6 months ago (2017-05-31 20:09:25 UTC) #32
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/external/webrtc/+/de4db1179884d3948a1808f50...

Powered by Google App Engine
This is Rietveld 408576698