私はlibtorrentのpythonバージョンを使用します。私は多くのファイルと長い時間のための急流のセッションを実行すると、エラーでクラッシュ:スレッド内に関数をラップし、重大なエラーを無視する
terminate called after throwing an instance of 'boost::lock_error'
what(): boost::lock_error
ので、私は別のスレッドに急流に関連する機能をラップし、それがクラッシュしたとき、それは殺すだろうと思いました(全体ではなくアプリの)単なるスレッド:
from threading import Thread
class TWrapper (Thread) :
# ...
def run(self):
try:
run_torrent_stuff()
except:
# print message
pass
t = TWrapper()
t.run()
t.join()
# check if all OK with t, if not - restart again
私は図書館がクラッシュした場合、スレッドが死ぬだろうと私はメインループでそれをjoin
だろうと思いました。しかし、libtorrent
クラッシュは、すべてのアプリケーションが死ぬとき:(
エラーがスレッドの外にエスカレートなぜ?
通常であれば
'スレッドからスレッドにエスカレートする理由は?' - おそらく例外が他のスレッドで発生している可能性があります。 libtorrent内部スレッド/プール? –