4.1.1 Defining and calling foreign functions
sigalrmsignals, as an open system call can exit when it receives such a signal. Use the following macro to prevent
sigalrmsignals from being delivered during a foreign call that calls such a system call function.
(defmacro with-sigalrm-blocked (&body body) (let ((old-signal (gensym))) '(let ((,old-signal nil)) (unwind-protect (progn (setq ,old-signal (system:block-more-signals #x2000)) ,@body) (when ,old-signal (system:set-signal-mask ,old-signal))))))
Generated with Harlequin WebMaker