Attila Lendvai <att...@lendvai.name> skribis: > (define (call-with-server-socket file-name proc) > "Call PROC, passing it a listening socket at FILE-NAME and deleting the > socket file at FILE-NAME upon exit of PROC. Return the values of PROC." > (let ((sock (open-server-socket file-name))) > (dynamic-wind > noop > (lambda () (proc sock)) > (lambda () > (close sock) > (catch-system-error (delete-file file-name))))))
For the record, ‘dynamic-wind’ here was replaced by ‘catch’ in 46790f9d924af2a9521adccb9e6db6afd9c1a2e7, which corresponds to the introduction of Fibers in 0.9.x. Ludo’.