Changeset 2b08ed


Ignore:
Timestamp:
08/28/2015 02:34:56 PM (10 years ago)
Author:
Calum Lind <calumlind+deluge@gmail.com>
Children:
78fcf1
Parents:
0cdab0
git-author:
Calum Lind <calumlind+deluge@gmail.com> (08/28/2015 09:55:01 AM)
git-committer:
Calum Lind <calumlind+deluge@gmail.com> (08/28/2015 02:34:56 PM)
Message:

[Core] Enable lt extension bindings again for versions >=0.16.7

  • This will also no longer enable the lt_trackers extensions that seems

to be an issue for private trackers mixing with public ones #2721.

Location:
deluge/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • deluge/core/core.py

    r0cdab0 r2b08ed  
    8585            version.append(0)
    8686
    87         # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
    88         # due to  GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
    89         # Setting session flags to 1 enables all libtorrent default plugins
    90         self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
     87        # In libtorrent versions below 0.16.7.0 disable extension bindings due to GIL issue.
     88        # https://code.google.com/p/libtorrent/issues/detail?id=369
     89        if deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.7.0"):
     90            self.session = lt.session(lt.fingerprint("DE", *version), flags=0)
     91        else:
     92            # Setting session flags to 1 enables all libtorrent default plugins
     93            self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
    9194
    9295        # Load the session state if available
     
    109112
    110113        # Load metadata extension
    111         # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
    112         # due to  GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
    113         # self.session.add_extension(lt.create_metadata_plugin)
    114         # self.session.add_extension(lt.create_ut_metadata_plugin)
    115         # self.session.add_extension(lt.create_smart_ban_plugin)
     114        # In libtorrent versions below 0.16.7.0 disable extension bindings due to GIL issue.
     115        # https://code.google.com/p/libtorrent/issues/detail?id=369
     116        if deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.7.0"):
     117            self.session.add_extension("metadata_transfer")
     118            self.session.add_extension("ut_metadata")
     119            self.session.add_extension("smart_ban")
    116120
    117121        # Create the components
  • deluge/core/preferencesmanager.py

    r0cdab0 r2b08ed  
    338338    def _on_set_utpex(self, key, value):
    339339        log.debug("utpex value set to %s", value)
    340         if value:
    341             # Note: All libtorrent python bindings to set plugins/extensions need to be disabled
    342             # due to  GIL issue. https://code.google.com/p/libtorrent/issues/detail?id=369
    343             #self.session.add_extension(lt.create_ut_pex_plugin)
    344             pass
     340        # In libtorrent versions below 0.16.7.0 disable extension bindings due to GIL issue.
     341        # https://code.google.com/p/libtorrent/issues/detail?id=369
     342        if value and deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.7.0"):
     343            self.session.add_extension("ut_pex")
    345344
    346345    def _on_set_encryption(self, key, value):
Note: See TracChangeset for help on using the changeset viewer.