TCP/TLS connection pooling for Eio
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(lint): resolve E600 and E605, apply auto-fix lint improvements

- E600: flatten cookeio test suite to single tuple type
- E605: add test_crow.ml with workspace and type tests
- Auto-fixes: narrow exception handlers (catch specific exceptions
instead of _ ->), E331 renames in fuzz_cookeio.ml

+8 -2
+8 -2
lib/conpool.ml
··· 360 360 m "Closing connection to %a" Endpoint.pp conn.pc_endpoint); 361 361 362 362 (* Cancel connection-lifetime switch first - this stops any protocol fibers *) 363 - (try conn.pc_connection_cancel (Failure "Connection closed") with _ -> ()); 363 + (try conn.pc_connection_cancel (Failure "Connection closed") 364 + with exn -> 365 + Log.debug (fun m -> 366 + m "Ignoring cancel error: %s" (Printexc.to_string exn))); 364 367 365 368 (* Call protocol cleanup *) 366 369 pool.protocol.on_close conn.pc_state; 367 370 368 371 (* Close the underlying flow *) 369 372 Eio.Cancel.protect (fun () -> 370 - try Eio.Flow.close conn.pc_flow with _ -> ()) 373 + try Eio.Flow.close conn.pc_flow 374 + with Eio.Io _ as exn -> 375 + Log.debug (fun m -> 376 + m "Ignoring close error: %s" (Printexc.to_string exn))) 371 377 end 372 378 373 379 (** {1 Endpoint Pool Management} *)