commit 619bd3ea0951c202cadcb71f63d0d09b68b62374
parent a2dc94582fc2545d180f9360cbc563af4b4c9a48
Author: Commit-Bot <unknown>
Date:   Wed, 15 Sep 2010 16:31:56 +0000
Automatic commit from picoLisp.tgz, From: Wed, 15 Sep 2010 16:31:56 GMT
Diffstat:
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/lib/tags b/lib/tags
@@ -101,7 +101,7 @@ ctl (4106 . "@src64/io.l")
 ctty (2644 . "@src64/main.l")
 cut (1797 . "@src64/sym.l")
 date (2358 . "@src64/main.l")
-dbck (2093 . "@src64/db.l")
+dbck (2100 . "@src64/db.l")
 de (549 . "@src64/flow.l")
 dec (2323 . "@src64/big.l")
 def (473 . "@src64/flow.l")
@@ -140,7 +140,7 @@ fold (3343 . "@src64/sym.l")
 for (2247 . "@src64/flow.l")
 fork (3276 . "@src64/flow.l")
 format (2089 . "@src64/big.l")
-free (2035 . "@src64/db.l")
+free (2042 . "@src64/db.l")
 from (3356 . "@src64/io.l")
 full (1066 . "@src64/subr.l")
 fun? (734 . "@src64/sym.l")
@@ -200,7 +200,7 @@ mapcar (871 . "@src64/apply.l")
 mapcon (925 . "@src64/apply.l")
 maplist (817 . "@src64/apply.l")
 maps (674 . "@src64/apply.l")
-mark (1953 . "@src64/db.l")
+mark (1960 . "@src64/db.l")
 match (3062 . "@src64/subr.l")
 max (2314 . "@src64/subr.l")
 maxi (1395 . "@src64/apply.l")
diff --git a/src64/db.l b/src64/db.l
@@ -1,4 +1,4 @@
-# 11sep10abu
+# 15sep10abu
 # (c) Software Lab. Alexander Burger
 
 # 6 bytes in little endian format
@@ -1944,7 +1944,14 @@
          loop
       loop
    loop
-90 pop Y
+90 ld Y (Zap)  # Objects to delete?
+   atom Y
+   if z  # Yes
+      ld (Y) Nil  # Clear zap list
+   end
+   ld A 0  # Length
+   call rwUnlockDbA  # Unlock all
+   pop Y
    pop X
    ld E TSym  # Return T
    ret
diff --git a/src64/io.l b/src64/io.l
@@ -1,4 +1,4 @@
-# 14sep10abu
+# 15sep10abu
 # (c) Software Lab. Alexander Burger
 
 # Close file descriptor
@@ -2642,7 +2642,7 @@
    push C  # <L -I> File descriptor
    push E  # <L -II> Milliseconds
    push E  # <L -III> Timeout
-   sub S II  # <L -IV> Flush flag, <L -V> Poll array
+   sub S II  # <L -IV> Drain flag, <L -V> Poll array
    do
       ld A (L -I)  # File descriptor
       null A  # Positive?
@@ -2773,7 +2773,7 @@
       call msec_A  # Get milliseconds
       sub A E  # Time difference
       ld (L -III) A  # Save it
-      set (L -IV) 0  # Guarantee flushed pipes
+      set (L -IV) 0  # Guarantee drained pipes
       ld Y (Child)  # Iterate children
       ld Z (Children)  # Count
       push X  # Save context
@@ -2869,7 +2869,7 @@
          end
          add Y VI  # Increment by sizeof(child)
       loop
-      nul (L -IV)  # All pipes flushed?
+      nul (L -IV)  # All pipes drained?
       if z  # Yes
          ld A (Spkr)  # Speaker open?
          null A