chickadee » synch » define-operation/synch

(define-operation/synch OPERNAME)syntax

Note that the operand must be the first argument of OPERNAME.

(define-operation/synch hash-table-set!)
;=> similar
(define (hash-table-set!/sync mtx+obj . args)
  (let ((mtx (if (pair? mtx+obj) (car mtx+obj) mtx+obj)))
    (check-mutex+object 'hash-table-set!/synch mtx 'object/synch)
    (synch-with mtx+obj obj (apply hash-table-set! obj args)) ) )