Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/Thread.cpp

Issue 29361562: Issue 3594 - remove circular references JsEngine-JsValue-JsEngine (Closed)
Patch Set: temporary workaround for race condition Created Dec. 1, 2016, 10:26 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 #ifndef WIN32 18 #ifndef WIN32
19 #include <unistd.h> 19 #include <unistd.h>
20 #endif 20 #endif
21 21
22 #include "Thread.h" 22 #include "Thread.h"
23 #include <AdblockPlus/JsEngine.h>
23 24
24 using namespace AdblockPlus; 25 using namespace AdblockPlus;
25 26
26 void AdblockPlus::Sleep(const int millis) 27 void AdblockPlus::Sleep(const int millis)
27 { 28 {
28 #ifdef WIN32 29 #ifdef WIN32
29 ::Sleep(millis); 30 ::Sleep(millis);
30 #else 31 #else
31 usleep(millis * 1000); 32 usleep(millis * 1000);
32 #endif 33 #endif
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 { 101 {
101 #ifdef WIN32 102 #ifdef WIN32
102 WaitForSingleObject(nativeThread, INFINITE); 103 WaitForSingleObject(nativeThread, INFINITE);
103 #else 104 #else
104 pthread_join(nativeThread, 0); 105 pthread_join(nativeThread, 0);
105 #endif 106 #endif
106 } 107 }
107 108
108 void Thread::CallRun(Thread* thread) 109 void Thread::CallRun(Thread* thread)
109 { 110 {
110 thread->Run(); 111 try
112 {
113 thread->Run();
114 }
115 catch (const AdblockPlus::JsEngine::JsEngineNotAvailableException&)
116 {
117 }
111 if (thread->m_deleteSelfOnFinish) 118 if (thread->m_deleteSelfOnFinish)
112 delete thread; 119 delete thread;
113 } 120 }
OLDNEW
« src/JsValue.cpp ('K') | « src/Notification.cpp ('k') | src/Utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld