diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2010-06-08 13:24:44 +0200 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2010-06-08 13:24:44 +0200 |
commit | 3776f7a766851058f6435b9f606b16766425d7ca (patch) | |
tree | 8096d6d84090f4abc5aad374c1fe6f64088572a6 /lib/git/async/task.py | |
parent | 09c3f39ceb545e1198ad7a3f470d4ec896ce1add (diff) | |
download | gitpython-3776f7a766851058f6435b9f606b16766425d7ca.tar.gz |
The new channeldesign actually works, but it also shows that its located at the wrong spot. The channel is nothing more than an adapter allowing to read multiple items from a thread-safe queue, the queue itself though must be 'closable' for writing, or needs something like a writable flag.
Diffstat (limited to 'lib/git/async/task.py')
-rw-r--r-- | lib/git/async/task.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/git/async/task.py b/lib/git/async/task.py index cf486f48..ce701c86 100644 --- a/lib/git/async/task.py +++ b/lib/git/async/task.py @@ -140,10 +140,10 @@ class OutputChannelTask(Node): # If we appear to be the only one left with our output channel, and are # closed ( this could have been set in another thread as well ), make # sure to close the output channel. - # The count is: 1 = wc itself, 2 = first reader channel, and we have only - # one, 3 is ours + x for every thread having its copy on the stack + # The count is: 1 = wc itself, 2 = first reader channel, + x for every + # thread having its copy on the stack # + 1 for the instance we provide to refcount - if self.is_done() and sys.getrefcount(self._out_wc) < 5: + if self.is_done() and sys.getrefcount(self._out_wc) < 4: self.close() # END handle channel closure #{ Configuration |