1. 07 Jul, 2000 4 commits
    • Jim Fulton's avatar
    • Jim Fulton's avatar
      Changed the way that the storage is closed. Our close method may be · 0c744101
      Jim Fulton authored
      called from a separate thread than the async main loop. We only want
      the async main loop to close our _call (rpc) object. Instead of
      closing it directly, we call closeIntensionally(), which, in return,
      requests that the async main loop closes it, via the select trigger.
      0c744101
    • Jim Fulton's avatar
      Added a separate call to check the cache size so that we only check · 90d90a12
      Jim Fulton authored
      when a transaction is about to be written. It would be bad if we
      "flipped" the cache twice during a transaction, as we would have
      incomplete transaction data.  Note that this means that we could
      exceed the target cache size if the data for a transaction exceeded
      the target size (/2).
      
      Changed the way that the storage is closed. Our close method may be
      called from a separate thread than the async main loop. We only want
      the async main loop to close our _call (rpc) object. Instead of
      closing it directly, we call closeIntensionally(), which, in return,
      requests that the async main loop closes it, via the select trigger.
      90d90a12
    • Jim Fulton's avatar
      Added some comments. · 7a73e8ed
      Jim Fulton authored
      Added seek before write in invalidate method. Without this, strange
      things happen on NT and solaris. (I was probably breaking a rule of
      thumb that says never to do a write() right after a read() even though
      tell() would indicate I was in the right place.)
      
      Added logic to update the cache index on an invalidate.
      
      Added a separate call to check the cache size so that we only check
      when a transaction is about to be written. It would be bad if we
      "flipped" the cache twice during a transaction, as we would have
      incomplete transaction data.  Note that this means that we could
      exceed the target cache size if the data for a transaction exceeded
      the target size (/2).
      7a73e8ed
  2. 06 Jul, 2000 1 commit
  3. 05 Jul, 2000 3 commits
  4. 01 Jul, 2000 7 commits
  5. 29 Jun, 2000 4 commits
  6. 27 Jun, 2000 1 commit
  7. 23 Jun, 2000 1 commit
  8. 20 Jun, 2000 1 commit
  9. 19 Jun, 2000 2 commits
  10. 12 Jun, 2000 1 commit
  11. 09 Jun, 2000 1 commit
  12. 05 Jun, 2000 1 commit
  13. 03 Jun, 2000 2 commits
  14. 02 Jun, 2000 1 commit
  15. 30 May, 2000 2 commits
    • Jim Fulton's avatar
      Fixed bug that could cause infinate loop when odd objects · d01f9b40
      Jim Fulton authored
      got registered. (Deja vu all over again. ;)
      
      Changed to commit objects in registration order and to allow
      additional objects to get registered while commiting. (The
      later was wanted by PJE.)
      
      Added a comment in commit to explain the "invariant".
      
      Fixed bug that caused objects to get multiply aborted.  Now always
      clear object registry on commit and abort. This seems like a good
      idea anyway. (We were relying on free_transaction to have the
      same effect. This faild miserably in single-threaded apps and
      in certain error conditions.
      
      Added a teeny optimization in get_transaction().
      d01f9b40
    • Jim Fulton's avatar
      Fixed missfeature pointed out by PJE. We do not quite provide · f4be63cc
      Jim Fulton authored
      transparent Pythonic sematics for __setattr__ and __delattr__.
      If these methods are implemented, then they *must*::
      
        self._p_changed=1 # prefered
      
      or::
      
        self.__changed__(1) # if people get the heebe-jeebees from setting attrs
      
      to manually register that an object's persistent state has changed, if,
      in fact, it has.
      f4be63cc
  16. 28 May, 2000 3 commits
  17. 27 May, 2000 2 commits
  18. 26 May, 2000 1 commit
  19. 24 May, 2000 1 commit
  20. 20 May, 2000 1 commit