about summary refs log tree commit diff
path: root/library/std/src/sys/net/connection/socket/hermit.rs
diff options
context:
space:
mode:
authorOli Scherer <github35764891676564198441@oli-obk.de>2025-09-13 07:09:16 +0000
committerGitHub <noreply@github.com>2025-09-13 07:09:16 +0000
commit8ade141c46ea74b7988e48d26f83b2d24d60a991 (patch)
tree2f810c44d18e82c7d160925dc49c157acbae9116 /library/std/src/sys/net/connection/socket/hermit.rs
parentfc7eb3c28d2be162dd32951811ce7852bb1a2f6a (diff)
parent520e45a538a6c047c77785f09fdead3842b7b7ba (diff)
downloadrust-8ade141c46ea74b7988e48d26f83b2d24d60a991.tar.gz
rust-8ade141c46ea74b7988e48d26f83b2d24d60a991.zip
Merge pull request #4584 from rust-lang/rustup-2025-09-13
Automatic Rustup
Diffstat (limited to 'library/std/src/sys/net/connection/socket/hermit.rs')
-rw-r--r--library/std/src/sys/net/connection/socket/hermit.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/std/src/sys/net/connection/socket/hermit.rs b/library/std/src/sys/net/connection/socket/hermit.rs
index f49821657d9..5200eaa5786 100644
--- a/library/std/src/sys/net/connection/socket/hermit.rs
+++ b/library/std/src/sys/net/connection/socket/hermit.rs
@@ -304,7 +304,8 @@ impl Socket {
     }
 
     pub fn take_error(&self) -> io::Result<Option<io::Error>> {
-        unimplemented!()
+        let raw: c_int = getsockopt(self, libc::SOL_SOCKET, libc::SO_ERROR)?;
+        if raw == 0 { Ok(None) } else { Ok(Some(io::Error::from_raw_os_error(raw as i32))) }
     }
 
     // This is used by sys_common code to abstract over Windows and Unix.