Changeset 2977 in project


Ignore:
Timestamp:
02/02/07 01:33:06 (14 years ago)
Author:
Kon Lovett
Message:

Update for 1.0 synch.

Location:
sqlite3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sqlite3/doc.scm

    r2307 r2977  
    77     (author (url "http://www.chust.org/" "Thomas Chust"))
    88     (history
     9      (version "1.5.6" "Replaced deprecated synch operations [Kon Lovett]")
    910      (version "1.5.5" "Correction in the documentation, added sqlite3:with-transaction")
    1011      (version "1.5.4" "Typo fixed thanks to the new imports checking code")
  • sqlite3/sqlite3.html

    r2307 r2977  
    11<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2 <!-- Generated by eggdoc Revision: 1.19  -->
     2<!-- Generated by eggdoc Revision: 1.20  -->
    33<html>
    44<head>
     
    6565                /* font-size: 1.2em; */
    6666        }
    67         H3, H4, H5, H6 {
     67        H3 {
     68                color: #113;
     69                margin-bottom: 0.5em;
     70        }
     71        H4, H5, H6 {
    6872                color: #113;
    6973                margin-bottom: 1.0em;
     
    154158<h3>Version</h3>
    155159<ul>
     160<li>1.5.6 Replaced deprecated synch operations [Kon Lovett]</li>
    156161<li>1.5.5 Correction in the documentation, added sqlite3:with-transaction</li>
    157162<li>1.5.4 Typo fixed thanks to the new imports checking code</li>
  • sqlite3/sqlite3.scm

    r2307 r2977  
    222222
    223223(define sqlite3:collations
    224   (make-mutex 'sqlite3:collations))
    225 
    226 (mutex-specific-set! sqlite3:collations (make-hash-table))
     224  (make-synchronized-object (make-hash-table) 'sqlite3:collations) )
    227225
    228226(define-external (chicken_sqlite3_collation_stub (scheme-object qn)
     
    243241                 (set! r
    244242                   ((vector-ref
    245                      (call/synch
    246                       sqlite3:collations (cut hash-table-tree-ref <> qn))
     243                     (call-with/synch sqlite3:collations
     244                      (cut hash-table-tree-ref <> qn))
    247245                     1)
    248246                    a b)))))
     
    278276   (else
    279277    (let ((qn (list (pointer->address (slot-ref db 'this)) name)))
    280       (call/synch sqlite3:collations
     278      (call-with/synch sqlite3:collations
    281279        (lambda (col)
    282280          (cond
     
    296294           ((sqlite3:error 'sqlite3:define-collation db name proc) s)))
    297295     (else
    298       (call/synch sqlite3:collations
     296      (call-with/synch sqlite3:collations
    299297        (cut hash-table-tree-set! <> qn (vector qn proc)))))))
    300298
     
    366364
    367365(define sqlite3:functions
    368   (make-mutex 'sqlite3:functions))
    369 
    370 (mutex-specific-set! sqlite3:functions (make-hash-table))
     366  (make-synchronized-object (make-hash-table) 'sqlite3:functions) )
    371367
    372368(define sqlite3_user_data
     
    386382              ((apply
    387383                (vector-ref
    388                  (call/synch sqlite3:functions
     384                 (call-with/synch sqlite3:functions
    389385                   (cut hash-table-tree-ref <> (sqlite3_user_data ctx)))
    390386                 1)
     
    397393
    398394(define sqlite3:seeds
    399   (make-mutex 'sqlite3:seeds))
    400 
    401 (mutex-specific-set! sqlite3:seeds (make-hash-table))
     395  (make-synchronized-object (make-hash-table) 'sqlite3:seeds))
    402396
    403397(define sqlite3_aggregate_context
     
    416410               (print-error-message
    417411                exn (current-error-port) "Error in step of SQL function:")
    418              (let ((info (call/synch sqlite3:functions
     412             (let ((info (call-with/synch sqlite3:functions
    419413                           (cut hash-table-tree-ref
    420414                                <> (sqlite3_user_data ctx)))))
    421                (call/synch sqlite3:seeds
     415               (call-with/synch sqlite3:seeds
    422416                 (cut hash-table-update!/default
    423417                      <> (sqlite3_aggregate_context ctx)
     
    441435                 (print-error-message
    442436                  exn (current-error-port) "Error in final of SQL function:")
    443                (let ((info (call/synch sqlite3:functions
     437               (let ((info (call-with/synch sqlite3:functions
    444438                             (cut hash-table-tree-ref
    445439                                  <> (sqlite3_user_data ctx)))))
    446440                 (cond
    447441                  (((vector-ref info 3)
    448                     (call/synch sqlite3:seeds
     442                    (call-with/synch sqlite3:seeds
    449443                      (cut hash-table-ref/default <> agc (vector-ref info 2))))
    450444                   => (cut sqlite3:set-result! ctx <>))
     
    452446                   (sqlite3:set-result! ctx))))))
    453447           (lambda ()
    454              (call/synch sqlite3:seeds
     448             (call-with/synch sqlite3:seeds
    455449               (cut hash-table-delete! <> agc))
    456450             (q (void))))))))
     
    477471           ((sqlite3:error 'sqlite3:define-function db name n proc) s)))
    478472     (else
    479       (call/synch sqlite3:functions
     473      (call-with/synch sqlite3:functions
    480474        (cut hash-table-tree-set! <> qn (vector qn proc)))))))
    481475
     
    507501            s)))
    508502     (else
    509       (call/synch sqlite3:functions
     503      (call-with/synch sqlite3:functions
    510504        (cut hash-table-tree-set!
    511505             <> qn (vector qn step-proc seed final-proc)))))))
     
    558552          (release-qns (lambda (_ info)
    559553                         (object-release (vector-ref info 0)))))
    560       (call/synch sqlite3:collations
     554      (call-with/synch sqlite3:collations
    561555        (lambda (collations)
    562556          (cond
     
    564558            => (cut hash-table-walk <> release-qns)))
    565559          (hash-table-delete! collations id)))
    566       (call/synch sqlite3:functions
     560      (call-with/synch sqlite3:functions
    567561        (lambda (functions)
    568562          (cond
  • sqlite3/sqlite3.setup

    r2307 r2977  
    1010  `(,so-file
    1111    "sqlite3.html" "egg.jpg")
    12   '((version "1.5.5") (documentation "sqlite3.html")))
     12  '((version "1.5.6") (documentation "sqlite3.html")))
Note: See TracChangeset for help on using the changeset viewer.