File 0184-socket-Throw-correct-error-from-socket-info-when-dis.patch of Package erlang

From 856093fd77c9f032e754d4c37059fdebc1868f5e Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Wed, 8 Dec 2021 16:30:10 +0100
Subject: [PATCH 06/12] socket: Throw correct error from socket:info when
 disabled

When `--disable-esock` is given we want to throw `notsup` and
not `undef` when the function is called.
---
 lib/kernel/src/socket.erl | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/lib/kernel/src/socket.erl b/lib/kernel/src/socket.erl
index c188f516a1..48f8566629 100644
--- a/lib/kernel/src/socket.erl
+++ b/lib/kernel/src/socket.erl
@@ -1206,8 +1206,18 @@ fmt_port(N, Proto) ->
 -spec info() -> info().
 %%
 info() ->
-    prim_socket:info().
-
+    try
+        prim_socket:info()
+    catch error:undef:ST ->
+            case ST of
+                %% We rewrite errors coming from prim_socket not existing
+                %% to enotsup.
+                [{prim_socket,info,[],_}|_] ->
+                    erlang:raise(error,notsup,ST);
+                _ ->
+                    erlang:raise(error,undef,ST)
+            end
+    end.
 
 -spec info(Socket) -> socket_info() when
 					Socket :: socket().
-- 
2.31.1

openSUSE Build Service is sponsored by