From: Andrew M. <an...@ob...> - 2006-07-14 19:34:28
|
>I tried the "_close_fetcher" solution, but it has caused other problems. >Specifically, it throws off the lock count and I end up getting: > > AssertionError: release() of un-acquire()d lock Ah, that's a shame. So much for the change being simple and obviously correct! >What has been working for me is simply clearing the command once the lock >count reaches zero. Here is what my version of _FetchLazy._unlock looks like: > > def _unlock(self): > self._lock_count = self._lock_count - 1 > _ctx.debug_msg('_unlock: count -> %d\n' % self._lock_count) > #!!! Added by DRC: Once there are no more locks, clear the command > if self._lock_count == 0: > status = self._cmd.ct_cancel(CS_CANCEL_ALL) > #!!! > self._owner._unlock() Well, that looks good, but I've said that before... 8-) Greg? -- Andrew McNamara, Senior Developer, Object Craft http://www.object-craft.com.au/ |