summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2016-09-06 13:27:59 -0700
committerMicah Lee <micah@micahflee.com>2016-09-06 13:27:59 -0700
commit373f24e64b52aea6ad9dc5caeb9073e728abec2f (patch)
treecbeec19d9a82f09b3919b06fa019b470f95219fa
parent76937d5cb5d0171f9cc2bcadfb0f60c38450256c (diff)
downloadonionshare-373f24e64b52aea6ad9dc5caeb9073e728abec2f.tar.gz
onionshare-373f24e64b52aea6ad9dc5caeb9073e728abec2f.zip
Sleep between launching threads in onionshare-gui, preventing a cx_Freeze crash related to loading the same modules in multiple threads while they're lockedv0.9.1
-rw-r--r--onionshare_gui/onionshare_gui.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/onionshare_gui/onionshare_gui.py b/onionshare_gui/onionshare_gui.py
index 032140d5..cbda5431 100644
--- a/onionshare_gui/onionshare_gui.py
+++ b/onionshare_gui/onionshare_gui.py
@@ -144,6 +144,13 @@ class OnionShareGui(QtWidgets.QMainWindow):
# pick an available local port for the http service to listen on
self.app.choose_port()
+ # start onionshare http service in new thread
+ t = threading.Thread(target=web.start, args=(self.app.port, self.app.stay_open, self.app.transparent_torification))
+ t.daemon = True
+ t.start()
+ # wait for modules in thread to load, preventing a thread-related cx_Freeze crash
+ time.sleep(0.2)
+
# start the onion service in a new thread
def start_onion_service(self):
self.status_bar.showMessage(strings._('gui_starting_server1', True))
@@ -155,14 +162,9 @@ class OnionShareGui(QtWidgets.QMainWindow):
self.starting_server_error.emit(e.args[0])
return
- t1 = threading.Thread(target=start_onion_service, kwargs={'self': self})
- t1.daemon = True
- t1.start()
-
- # start onionshare http service in new thread
- t2 = threading.Thread(target=web.start, args=(self.app.port, self.app.stay_open, self.app.transparent_torification))
- t2.daemon = True
- t2.start()
+ t = threading.Thread(target=start_onion_service, kwargs={'self': self})
+ t.daemon = True
+ t.start()
def start_server_step2(self):
"""