9a83dd729b
Batch process pending tasks in the libevent TaskQueue
...
This change improves performance under high load by processing
all pending tasks each time the thread is woken up by libevent.
Additionally, the pipe used to wake up the TaskQueue thread now
not be written to if there's already a pending write on the pipe.
This fixes a bug where under high load the pipe write buffer can
fill and cause tasks to get dropped.
Bug: webrtc:11259, webrtc:8876
Change-Id: Ic82978c71bf9e9a25f281ca4775d46168d161d4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165420
Commit-Queue: Steve Anton <steveanton@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30202}
2020-01-09 19:49:23 +00:00
317a1f09ed
Use std::make_unique instead of absl::make_unique.
...
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.
This CL has been created with the following steps:
git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt
diff --new-line-format="" --unchanged-line-format="" \
/tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
/tmp/only_make_unique.txt /tmp/memory.txt | \
xargs grep -l "absl/memory" > /tmp/add-memory.txt
git grep -l "\babsl::make_unique\b" | \
xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"
git checkout PRESUBMIT.py abseil-in-webrtc.md
cat /tmp/add-memory.txt | \
xargs sed -i \
's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>
cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
xargs sed -i '/#include "absl\/memory\/memory.h"/d'
git ls-files | grep BUILD.gn | \
xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'
python tools_webrtc/gn_check_autofix.py \
-m tryserver.webrtc -b linux_rel
# Repead the gn_check_autofix step for other platforms
git ls-files | grep BUILD.gn | \
xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format
Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
a4d873786f
Format almost everything.
...
This CL was generated by running
git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format
Most of these changes are clang-format grouping and reordering includes
differently.
Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
00e71ef49e
Fix TaskQueueLibevent::PostTask when used on the same TaskQueue
...
Stop using event_base_once because it doesn't guarantee to free QueuedTask when task not run and thus may break TaskQueue guarantee all posted tasks are eventually deleted
Bug: webrtc:10731, webrtc:10278
Change-Id: Id073a6092cf603cac5768da7a0770371053b20cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141420
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#28241}
2019-06-11 18:08:18 +00:00
eb1752412a
Migrate libevent task queue implementation to TaskQueueBase interface
...
Bug: webrtc:10191
Change-Id: I480da22f6db781e877dcb92d46ce7f445892df6a
Reviewed-on: https://webrtc-review.googlesource.com/c/118929
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#26644}
2019-02-12 10:58:36 +00:00
d970807e0c
Remove rtc_base/scoped_ref_ptr.h.
...
The type rtc::scoped_refptr<T> is now part of api/. Please include it from
api/scoped_refptr.h.
More info: See: https://groups.google.com/forum/#!topic/discuss-webrtc/Mme2MSz4z4o .
Bug: webrtc:9887, webrtc:8205
No-Try: True
Change-Id: Ic6c7c81e226e59f12f7933e472f573ae097b55bf
Reviewed-on: https://webrtc-review.googlesource.com/c/119041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#26414}
2019-01-25 20:29:58 +00:00
10542f21c8
(4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries
...
Mechanically generated by running this command:
tools_webrtc/do-renames.sh update all-renames.txt && git cl format
Then manually updating:
tools_webrtc/sanitizers/tsan_suppressions_webrtc.cc
Bug: webrtc:10159
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I54824cd91dada8fc3ee3d098f971bc319d477833
Reviewed-on: https://webrtc-review.googlesource.com/c/115653
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#26226}
2019-01-11 17:11:39 +00:00
43f3982d6f
Remove TaskQueue::PostAndReply as unused
...
Bug: webrtc:10191, webrtc:9728
Change-Id: Iaaa7c88bbbbfdd6e3e9bf5ab683bbdb2962a5cab
Reviewed-on: https://webrtc-review.googlesource.com/c/107202
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#26202}
2019-01-10 16:06:57 +00:00
988cc0870b
[Cleanup] Add missing #include. Remove useless ones.
...
This CL is the result of running include-what-you-use tool on part
of the code base (audio target and dependencies) plus manual fixes.
bug: webrtc:8311
Change-Id: I277d281ce943c3ecc1bd45fd8d83055931743604
Reviewed-on: https://webrtc-review.googlesource.com/c/106280
Commit-Queue: Yves Gerey <yvesg@google.com >
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Patrik Höglund <phoglund@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#25311}
2018-10-23 11:32:56 +00:00
2e00abc98e
Reland "[cleanup] Remove useless includes."
...
Reason for reland: Downstream project fixed.
Original change's description:
> [cleanup] Remove useless includes.
>
> Manual cleanup guided by include-what-you-use diagnostic.
>
> Bug: webrtc:8311
> Change-Id: I00be03392cc7ee005101427ea7dc701621ccea68
> Reviewed-on: https://webrtc-review.googlesource.com/c/103320
> Commit-Queue: Yves Gerey <yvesg@webrtc.org >
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#25013}
Bug: webrtc:8311
Change-Id: Id6ec4aeb798886a90ace640a190eaf16497ba31b
Reviewed-on: https://webrtc-review.googlesource.com/c/104120
Commit-Queue: Yves Gerey <yvesg@webrtc.org >
Reviewed-by: Patrik Höglund <phoglund@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#25034}
2018-10-08 07:44:19 +00:00
96a0f61917
Revert "[cleanup] Remove useless includes."
...
This reverts commit be8b5348c76105f8fe869b0cae4065ddca106419.
Reason for revert: Breaks downstream project
Original change's description:
> [cleanup] Remove useless includes.
>
> Manual cleanup guided by include-what-you-use diagnostic.
>
> Bug: webrtc:8311
> Change-Id: I00be03392cc7ee005101427ea7dc701621ccea68
> Reviewed-on: https://webrtc-review.googlesource.com/c/103320
> Commit-Queue: Yves Gerey <yvesg@webrtc.org >
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org >
> Cr-Commit-Position: refs/heads/master@{#25013}
TBR=phoglund@google.com ,phoglund@webrtc.org ,yvesg@webrtc.org
Change-Id: I7a6e1cdfef685173b76f234ad598083043dcd9a0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8311
Reviewed-on: https://webrtc-review.googlesource.com/c/104022
Reviewed-by: Oleh Prypin <oprypin@webrtc.org >
Commit-Queue: Oleh Prypin <oprypin@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#25015}
2018-10-05 13:13:45 +00:00
be8b5348c7
[cleanup] Remove useless includes.
...
Manual cleanup guided by include-what-you-use diagnostic.
Bug: webrtc:8311
Change-Id: I00be03392cc7ee005101427ea7dc701621ccea68
Reviewed-on: https://webrtc-review.googlesource.com/c/103320
Commit-Queue: Yves Gerey <yvesg@webrtc.org >
Reviewed-by: Patrik Höglund <phoglund@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#25013}
2018-10-05 11:51:06 +00:00
a12c42a6b2
Delete root header file typedef.h.
...
Usage replaced with stdint.h, rtc_base/system/arch.h and
rtc_base/system/unused.h, as appropriate.
Bug: webrtc:6854
Change-Id: I97225465d14b969903d92979e2df3c3c05d35f18
Reviewed-on: https://webrtc-review.googlesource.com/90249
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org >
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org >
Commit-Queue: Niels Moller <nisse@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#24100}
2018-07-25 14:59:26 +00:00
02fddf64a9
Fix includes in task_queue.h
...
Move headers used only in implementation of TaskQueue to .cc files
Bug: None
Change-Id: I6efc9279ae2fef4693b91e992c66236cb9d3d27c
Reviewed-on: https://webrtc-review.googlesource.com/51763
Reviewed-by: Niels Moller <nisse@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#22035}
2018-02-15 16:10:15 +00:00
79a5560e06
Add RTC_UNUSED for call to write() in TaskQueue libevent dtor.
...
TBR=terelius@webrtc.org
Change-Id: I9ef648299754f6cab30c278d6a803dbc782a2292
Bug: webrtc:8834
Reviewed-on: https://webrtc-review.googlesource.com/47601
Commit-Queue: Tommi <tommi@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#21885}
2018-02-03 13:10:18 +00:00
e40468ba3d
Move some numeric utility code from rtc_base/ to rtc_base/numerics/
...
Specifically, I'm moving
safe_compare.h
safe_conversions.h
safe_minmax.h
They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.
BUG=webrtc:8445
Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org >
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
675513b96a
Stop using LOG macros in favor of RTC_ prefixed macros.
...
This CL has been generated with the following script:
for m in PLOG \
LOG_TAG \
LOG_GLEM \
LOG_GLE_EX \
LOG_GLE \
LAST_SYSTEM_ERROR \
LOG_ERRNO_EX \
LOG_ERRNO \
LOG_ERR_EX \
LOG_ERR \
LOG_V \
LOG_F \
LOG_T_F \
LOG_E \
LOG_T \
LOG_CHECK_LEVEL_V \
LOG_CHECK_LEVEL \
LOG
do
git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format
Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
92ea95e34a
Fixing WebRTC after moving from src/webrtc to src/
...
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org >
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
bb547203bf
Moving src/webrtc into src/.
...
In order to eliminate the WebRTC Subtree mirror in Chromium,
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00