[python-sybase] Re: This routine cannot be called because another command structure has results pending

Don Chance chance at stsci.edu
Tue Jul 11 06:11:44 EST 2006


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

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()

-- 
+++++++++++++++++++++++++++++++++
Don Chance
Computer Sciences Corp.
Space Telescope Science Institute
3700 San Martin Drive
Baltimore, MD 21218
410-338-4941
+++++++++++++++++++++++++++++++++


More information about the Python-sybase mailing list