Changeset 39074 in project


Ignore:
Timestamp:
10/28/20 22:03:44 (5 weeks ago)
Author:
Moritz Heidkamp
Message:

vandusen-remote: Handle timeout errors from tcp-accept

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/vandusen/trunk/vandusen-remote.scm

    r39071 r39074  
    1919                                            (tcp-read-timeout 3000))
    2020                               (let loop ()
    21                                  (receive (in out) (tcp-accept listener)
    22                                           (thread-start! (lambda ()
    23                                                            (dynamic-wind
    24                                                                void
    25                                                                (lambda ()
    26                                                                  (let ((line (read-line in)))
    27                                                                    (and-let* ((match (irregex-match
    28                                                                                       '(seq (submatch (+ (~ space)))
    29                                                                                             " "
    30                                                                                             (submatch (+ any)))
    31                                                                                       line)))
    32                                                                      (say (string-trim (irregex-match-substring match 2))
    33                                                                           (irregex-match-substring match 1)))))
    34                                                                (lambda ()
    35                                                                  (close-input-port in)
    36                                                                  (close-output-port out)))))
    37                                           (loop)))))))))
     21                                 (condition-case
     22                                     (receive (in out) (tcp-accept listener)
     23                                              (thread-start! (lambda ()
     24                                                               (dynamic-wind
     25                                                                   void
     26                                                                   (lambda ()
     27                                                                     (let ((line (read-line in)))
     28                                                                       (and-let* ((match (irregex-match
     29                                                                                          '(seq (submatch (+ (~ space)))
     30                                                                                                " "
     31                                                                                                (submatch (+ any)))
     32                                                                                          line)))
     33                                                                         (say (string-trim (irregex-match-substring match 2))
     34                                                                              (irregex-match-substring match 1)))))
     35                                                                   (lambda ()
     36                                                                     (close-input-port in)
     37                                                                     (close-output-port out)))))
     38                                              (loop))
     39                                   (e (exn i/o net timeout)
     40                                      (print "tcp-accept timed out")
     41                                      (loop)))))))))
    3842
    3943)
Note: See TracChangeset for help on using the changeset viewer.