diff --git a/deluge/core/core.py b/deluge/core/core.py index 4bda8113a..4ca3d9629 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 40070bbe9..2a5cb1b34 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)