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

Side by Side Diff: webrtc/base/sigslot.cc

Issue 2509733003: Rewrite of sigslot that avoids vtables. (Closed)
Patch Set: Going back to tab formatting. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/base/sigslot.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // sigslot.h: Signal/Slot classes 1 // sigslot.h: Signal/Slot classes
2 // 2 //
3 // Written by Sarah Thompson (sarah@telergy.com) 2002. 3 // Written by Sarah Thompson (sarah@telergy.com) 2002.
4 // 4 //
5 // License: Public domain. You are free to use this code however you like, with 5 // License: Public domain. You are free to use this code however you like, with
6 // the proviso that the author takes on no responsibility or liability for any 6 // the proviso that the author takes on no responsibility or liability for any
7 // use. 7 // use.
8 8
9 #include "webrtc/base/sigslot.h" 9 #include "webrtc/base/sigslot.h"
10 10
11 namespace sigslot { 11 namespace sigslot {
12 12
13 #ifdef _SIGSLOT_HAS_POSIX_THREADS 13 #ifdef _SIGSLOT_HAS_POSIX_THREADS
14 14
15 multi_threaded_global::multi_threaded_global() { 15 pthread_mutex_t multi_threaded_global::g_mutex = PTHREAD_MUTEX_INITIALIZER;
Taylor Brandstetter 2016/11/16 21:57:33 We'll probably need to change this due to Chromium
16 pthread_mutex_init(get_mutex(), NULL);
17 }
18
19 multi_threaded_global::multi_threaded_global(const multi_threaded_global&) {
20 }
21
22 multi_threaded_global::~multi_threaded_global() = default;
23
24 void multi_threaded_global::lock() {
25 pthread_mutex_lock(get_mutex());
26 }
27
28 void multi_threaded_global::unlock() {
29 pthread_mutex_unlock(get_mutex());
30 }
31
32 multi_threaded_local::multi_threaded_local() {
33 pthread_mutex_init(&m_mutex, NULL);
34 }
35
36 multi_threaded_local::multi_threaded_local(const multi_threaded_local&) {
37 pthread_mutex_init(&m_mutex, NULL);
38 }
39
40 multi_threaded_local::~multi_threaded_local() {
41 pthread_mutex_destroy(&m_mutex);
42 }
43
44 void multi_threaded_local::lock() {
45 pthread_mutex_lock(&m_mutex);
46 }
47
48 void multi_threaded_local::unlock() {
49 pthread_mutex_unlock(&m_mutex);
50 }
51 16
52 #endif // _SIGSLOT_HAS_POSIX_THREADS 17 #endif // _SIGSLOT_HAS_POSIX_THREADS
53 18
54 }; // namespace sigslot 19 } // namespace sigslot
OLDNEW
« no previous file with comments | « webrtc/base/sigslot.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698