File 7501-erts-Cleanup-erlang-system_info-spec.patch of Package erlang

From 1493f1482a3be7fddb88587b99ba9d69c27f890c Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Mon, 9 Oct 2023 15:10:39 +0200
Subject: [PATCH 3/4] erts: Cleanup erlang:system_info spec

---
 erts/doc/src/erlang.xml       |  2 ++
 erts/preloaded/src/erlang.erl | 16 +++++++---------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 123ba081a6..6c9d3e1d5a 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -10469,6 +10469,7 @@ Metadata = #{ pid => pid(),
       <name name="system_info" arity="1" clause_i="45" since="OTP R13B04"/>  <!-- min_bin_vheap_size -->
       <name name="system_info" arity="1" clause_i="60" since=""/>  <!-- procs -->
       <fsummary>Information about the default process heap settings.</fsummary>
+      <type name="garbage_collection_defaults"/>
       <type name="message_queue_data"/>
       <type name="max_heap_size"/>
       <desc>
@@ -10901,6 +10902,7 @@ Metadata = #{ pid => pid(),
       <name name="system_info" arity="1" clause_i="70" since=""/>  <!-- threads -->
       <name name="system_info" arity="1" clause_i="71" since=""/>  <!-- thread_pool_size -->
       <fsummary>Information about system schedulers.</fsummary>
+      <type name="scheduler_bind_type"/>
       <desc>
         <marker id="system_info_scheduler_tags"/>
         <p>Returns information about schedulers, scheduling and threads in the
diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl
index 1ba97db9e0..170b111478 100644
--- a/erts/preloaded/src/erlang.erl
+++ b/erts/preloaded/src/erlang.erl
@@ -3071,6 +3071,11 @@ tuple_to_list(_Tuple) ->
                    | (LogicalCpuId :: {logical, non_neg_integer()}).
 -type info_list() :: [].
 
+-type garbage_collection_defaults() :: [{max_heap_size, non_neg_integer()} |
+                                        {min_bin_heap_size, non_neg_integer()} |
+                                        {min_heap_size, non_neg_integer()} |
+                                        {fullsweep_after, non_neg_integer()}].
+
 %% Note: changing the ordering number of a clause will change the docs!
 %% Shadowed by erl_bif_types: erlang:system_info/1
 -spec erlang:system_info
@@ -3121,7 +3126,7 @@ tuple_to_list(_Tuple) ->
          (ets_count) -> pos_integer();
          (ets_limit) -> pos_integer();
          (fullsweep_after) -> {fullsweep_after, non_neg_integer()};
-         (garbage_collection) -> [{atom(), integer()}];
+         (garbage_collection) -> garbage_collection_defaults();
          (heap_sizes) -> [non_neg_integer()];
          (heap_type) -> private;
          (info) -> binary();
@@ -3151,14 +3156,7 @@ tuple_to_list(_Tuple) ->
          (process_count) -> pos_integer();
          (process_limit) -> pos_integer();
          (procs) -> binary();
-         (scheduler_bind_type) -> spread |
-                                  processor_spread |
-                                  thread_spread |
-                                  thread_no_node_processor_spread |
-                                  no_node_processor_spread |
-                                  no_node_thread_spread |
-                                  no_spread |
-                                  unbound;
+         (scheduler_bind_type) -> scheduler_bind_type();
          (scheduler_bindings) ->  tuple();
          (scheduler_id) -> SchedulerId :: pos_integer();
          (schedulers | schedulers_online) -> pos_integer();
-- 
2.35.3

openSUSE Build Service is sponsored by