Changeset 39082 in project


Ignore:
Timestamp:
10/29/20 18:55:52 (4 weeks ago)
Author:
wasamasa
Message:

Correct dynamic-wind usage (see #1127)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/5/openssl/trunk/openssl.scm

    r37358 r39082  
    9898
    9999;;; support routines
     100
     101(define (dynamic-wind+ before thunk after)
     102  (handle-exceptions exn
     103    (signal exn)
     104    (dynamic-wind
     105        before
     106        thunk
     107        after)))
    100108
    101109(define-foreign-variable strerror c-string "strerror(errno)")
     
    428436        (mutex (make-mutex 'ssl-mutex)))
    429437    (define (startup #!optional (called-from-close #f))
    430       (dynamic-wind
     438      (dynamic-wind+
    431439          (lambda ()
    432440            (mutex-lock! mutex))
     
    438446               (unless (or in-open? out-open?)
    439447                 (let ((success? #f))
    440                    (dynamic-wind
     448                   (dynamic-wind+
    441449                     void
    442450                     (lambda ()
     
    460468      (unless (or in-open? out-open?)
    461469        (set! ctx #f) ;; ensure that this reference is lost
    462         (dynamic-wind
     470        (dynamic-wind+
    463471            void
    464472            (lambda ()
     
    548556         (lambda ()
    549557           (when (startup #t)
    550              (dynamic-wind
     558             (dynamic-wind+
    551559               void
    552560               (lambda ()
     
    615623         (ssl (ssl-new ctx))
    616624         (success? #f))
    617     (dynamic-wind
     625    (dynamic-wind+
    618626      void
    619627      (lambda ()
Note: See TracChangeset for help on using the changeset viewer.