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