diff options
author | Markos Chandras <hwoarang@gentoo.org> | 2012-12-17 20:40:23 +0000 |
---|---|---|
committer | Markos Chandras <hwoarang@gentoo.org> | 2012-12-17 20:40:23 +0000 |
commit | 0b55df2ac16ee339b14c4de780c83dd10c42fa36 (patch) | |
tree | f9c8a93e8d72a0ca3ce475877b6817ab036c618e /net-p2p/deluge/files | |
parent | arm stable, bug #443080 (diff) | |
download | historical-0b55df2ac16ee339b14c4de780c83dd10c42fa36.tar.gz historical-0b55df2ac16ee339b14c4de780c83dd10c42fa36.tar.bz2 historical-0b55df2ac16ee339b14c4de780c83dd10c42fa36.zip |
Revbump to fix downloads with recent rb_libtorrent. Bug #437356
Package-Manager: portage-2.1.11.37/cvs/Linux x86_64
Manifest-Sign-Key: 0xB4AFF2C2
Diffstat (limited to 'net-p2p/deluge/files')
-rw-r--r-- | net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings b/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings new file mode 100644 index 000000000000..301019e04aed --- /dev/null +++ b/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings @@ -0,0 +1,60 @@ +https://bugs.gentoo.org/show_bug.cgi?id=437356 + +From 37ea2854a21e50debdf7bc953a3411e5934b74d9 Mon Sep 17 00:00:00 2001 +From: Calum Lind <calumlind+deluge@gmail.com> +Date: Thu, 27 Sep 2012 16:53:22 +0000 +Subject: Fix 2160 : Disable use of python bindings for libtorrent extensions and replace with session flag + +The fixes a GIL issue causing libtorrent segfault. https://code.google.com/p/libtorrent/issues/detail?id=369 + +Note: The ut_pex plugin (Peer Exchange) will now always be enabled. +--- +diff --git a/deluge/core/core.py b/deluge/core/core.py +index 4bda811..4ca3d96 100644 +--- a/deluge/core/core.py ++++ b/deluge/core/core.py +@@ -84,7 +84,10 @@ class Core(component.Component): + while len(version) < 4: + version.append(0) + +- self.session = lt.session(lt.fingerprint("DE", *version), flags=0) ++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled ++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369 ++ # Setting session flags to 1 enables all libtorrent default plugins ++ self.session = lt.session(lt.fingerprint("DE", *version), flags=1) + + # Load the session state if available + self.__load_session_state() +@@ -103,9 +106,11 @@ class Core(component.Component): + self.session.set_settings(self.settings) + + # Load metadata extension +- self.session.add_extension(lt.create_metadata_plugin) +- self.session.add_extension(lt.create_ut_metadata_plugin) +- self.session.add_extension(lt.create_smart_ban_plugin) ++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled ++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369 ++ # self.session.add_extension(lt.create_metadata_plugin) ++ # self.session.add_extension(lt.create_ut_metadata_plugin) ++ # self.session.add_extension(lt.create_smart_ban_plugin) + + # Create the components + self.eventmanager = EventManager() +diff --git a/deluge/core/preferencesmanager.py b/deluge/core/preferencesmanager.py +index 40070bb..2a5cb1b 100644 +--- a/deluge/core/preferencesmanager.py ++++ b/deluge/core/preferencesmanager.py +@@ -338,7 +338,10 @@ class PreferencesManager(component.Component): + def _on_set_utpex(self, key, value): + log.debug("utpex value set to %s", value) + if value: +- self.session.add_extension(lt.create_ut_pex_plugin) ++ # Note: All libtorrent python bindings to set plugins/extensions need to be disabled ++ # due to GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369 ++ #self.session.add_extension(lt.create_ut_pex_plugin) ++ pass + + def _on_set_encryption(self, key, value): + log.debug("encryption value %s set to %s..", key, value) +-- +cgit v0.9.0.2 |