diff -uNr scgi.orig/scgi.scm scgi/scgi.scm --- scgi.orig/scgi.scm 2006-05-03 02:52:26.000000000 +0200 +++ scgi/scgi.scm 2006-11-27 17:22:43.000000000 +0100 @@ -81,7 +81,7 @@ (mutex-specific-set! scgi:request-method-handlers (make-hash-table)) (define (scgi:request-method-handler name #!optional proc) - (call/synch scgi:request-method-handlers + (call-with/synch scgi:request-method-handlers (lambda (ht) (if proc (hash-table-set! ht name proc) @@ -93,7 +93,7 @@ (mutex-specific-set! scgi:request-parameter-parsers (make-hash-table)) (define (scgi:request-parameter-parser name #!optional proc) - (call/synch scgi:request-parameter-parsers + (call-with/synch scgi:request-parameter-parsers (lambda (ht) (if proc (hash-table-set! ht name proc) @@ -127,18 +127,18 @@ 'type)))))))) (define (scgi:add-resource name proc) - (call/synch (scgi:resources) + (call-with/synch (scgi:resources) (lambda (resources) (for-each (cut hash-table-set! resources <> proc) (if (list? name) name (list name)))))) (define (scgi:find-resource name) - (call/synch (scgi:resources) + (call-with/synch (scgi:resources) (cut hash-table-ref/default <> name #f))) (define (scgi:remove-resource name) - (call/synch (scgi:resources) + (call-with/synch (scgi:resources) (lambda (resources) (for-each (cut hash-table-delete! resources <>) @@ -304,7 +304,7 @@ (cons "Allow" (string-intersperse - (call/synch scgi:request-method-handlers + (call-with/synch scgi:request-method-handlers hash-table-keys) ", ")))))))) (else