From c11e2c74e874af29b6ade13ee4ab51a72853d726 Mon Sep 17 00:00:00 2001 From: Yazan AbdAl-Rahman Date: Tue, 9 Jul 2024 14:44:12 +0300 Subject: fix(net): handle panic on Windows for Unix socket usage in Deno.serve() (#24423) This PR addresses the issue where Deno.serve() panics on Windows when trying to use a Unix socket. Fixes #21967 --- ext/net/lib.rs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'ext/net/lib.rs') diff --git a/ext/net/lib.rs b/ext/net/lib.rs index 3b6c05282..c0f94ce1c 100644 --- a/ext/net/lib.rs +++ b/ext/net/lib.rs @@ -158,14 +158,28 @@ mod ops_unix { macro_rules! stub_op { ($name:ident) => { #[op2(fast)] - pub fn $name() { - panic!("Unsupported on non-unix platforms") + pub fn $name() -> Result<(), std::io::Error> { + let error_msg = format!( + "Operation `{:?}` not supported on non-unix platforms.", + stringify!($name) + ); + Err(std::io::Error::new( + std::io::ErrorKind::Unsupported, + error_msg, + )) } }; ($name:ident

) => { #[op2(fast)] - pub fn $name() { - panic!("Unsupported on non-unix platforms") + pub fn $name() -> Result<(), std::io::Error> { + let error_msg = format!( + "Operation `{:?}` not supported on non-unix platforms.", + stringify!($name) + ); + Err(std::io::Error::new( + std::io::ErrorKind::Unsupported, + error_msg, + )) } }; } -- cgit v1.2.3