diff options
| author | 郭旭星Astrum Kuo <guoxuxing@meituan.com> | 2014-04-02 15:29:24 +0800 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2014-04-15 14:59:14 +0400 |
| commit | 75c633217110b777bb64abc78693af16a2163a8d (patch) | |
| tree | 375a978c6c318a0d34f4ccebe8bbb0e49eeab983 | |
| parent | 5399fbda9df91d546a6f814030cdd9e225f83230 (diff) | |
| download | eventlet-75c633217110b777bb64abc78693af16a2163a8d.tar.gz | |
greenthread: add .unlink() method; Thanks to Astrum Kuo
Compatibility with gevent.
https://github.com/eventlet/eventlet/pull/82
| -rw-r--r-- | eventlet/greenthread.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/eventlet/greenthread.py b/eventlet/greenthread.py index fc9be51..2033408 100644 --- a/eventlet/greenthread.py +++ b/eventlet/greenthread.py @@ -189,6 +189,19 @@ class GreenThread(greenlet.greenlet): if self._exit_event.ready(): self._resolve_links() + def unlink(self, func, *curried_args, **curried_kwargs): + """ remove linked function set by :meth:`link` + + Remove successfully return True, otherwise False + """ + if not getattr(self, '_exit_funcs', None): + return False + try: + self._exit_funcs.remove((func, curried_args, curried_kwargs)) + return True + except ValueError: + return False + def main(self, function, args, kwargs): try: result = function(*args, **kwargs) |
