* [gentoo-commits] gentoo-x86 commit in net-p2p/deluge/files: deluge-1.3.5-rb_libtorrent-disable-python-bindings
@ 2012-12-17 20:40 Markos Chandras (hwoarang)
0 siblings, 0 replies; only message in thread
From: Markos Chandras (hwoarang) @ 2012-12-17 20:40 UTC (permalink / raw
To: gentoo-commits
hwoarang 12/12/17 20:40:22
Added: deluge-1.3.5-rb_libtorrent-disable-python-bindings
Log:
Revbump to fix downloads with recent rb_libtorrent. Bug #437356
(Portage version: 2.1.11.37/cvs/Linux x86_64, signed Manifest commit with key B4AFF2C2)
Revision Changes Path
1.1 net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-p2p/deluge/files/deluge-1.3.5-rb_libtorrent-disable-python-bindings?rev=1.1&content-type=text/plain
Index: deluge-1.3.5-rb_libtorrent-disable-python-bindings
===================================================================
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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-12-17 20:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-17 20:40 [gentoo-commits] gentoo-x86 commit in net-p2p/deluge/files: deluge-1.3.5-rb_libtorrent-disable-python-bindings Markos Chandras (hwoarang)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox