places: repair clean-up after serialize failure
This commit is contained in:
parent
f7c39512ab
commit
c7388f9fa8
|
@ -8,18 +8,20 @@
|
|||
(for/list ((n (in-naturals)))
|
||||
(place-channel-get in))))
|
||||
|
||||
(define i
|
||||
(define fds
|
||||
(case mode
|
||||
[("tcp")
|
||||
(define PORT 12346)
|
||||
(define listener (tcp-listen PORT 100 #t))
|
||||
(define-values (i o) (tcp-connect "127.0.0.1" PORT))
|
||||
i]
|
||||
(list i o)]
|
||||
[else
|
||||
(current-input-port)]))
|
||||
(list (current-input-port)
|
||||
(current-output-port))]))
|
||||
|
||||
(for ((n (in-naturals)))
|
||||
(printf "sending port ~a\n" n)
|
||||
(place-channel-put out i)))
|
||||
(place-channel-put out fds)))
|
||||
|
||||
(module+ test
|
||||
(require racket/system
|
||||
|
|
|
@ -820,7 +820,7 @@ static void bad_place_message2(Scheme_Object *so, Scheme_Object *o, int can_rais
|
|||
if (v) {
|
||||
if (SCHEME_VEC_ELS(v)[0]) {
|
||||
l = SCHEME_VEC_ELS(v)[0];
|
||||
while (SCHEME_PAIRP(l)) {
|
||||
while (SCHEME_RPAIRP(l)) {
|
||||
rktio_fd_close_transfer(unbox_fd(SCHEME_CAR(l)));
|
||||
l = SCHEME_CDR(l);
|
||||
SCHEME_USE_FUEL(1);
|
||||
|
@ -828,7 +828,7 @@ static void bad_place_message2(Scheme_Object *so, Scheme_Object *o, int can_rais
|
|||
}
|
||||
if (SCHEME_VEC_ELS(v)[1]) {
|
||||
l = SCHEME_VEC_ELS(v)[1];
|
||||
while (SCHEME_PAIRP(l)) {
|
||||
while (SCHEME_RPAIRP(l)) {
|
||||
rktio_fd_close_transfer(unbox_fd(SCHEME_CAR(l)));
|
||||
l = SCHEME_CDR(l);
|
||||
SCHEME_USE_FUEL(1);
|
||||
|
|
Loading…
Reference in New Issue
Block a user