File 1684-erts-Fix-index-type-in-atomics-and-counters-modules.patch of Package erlang

From 21b7bdc78271329cfa191f61ccac7ff56eb39ce4 Mon Sep 17 00:00:00 2001
From: williamthome <williamthome@hotmail.com>
Date: Wed, 5 Mar 2025 08:02:25 -0300
Subject: [PATCH] erts: Fix index type in `atomics` and `counters` modules

Both `atomics` and `counters` modules describes `index from 1 to N`.
---
 erts/preloaded/src/atomics.erl  | 16 ++++++++--------
 erts/preloaded/src/counters.erl |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/erts/preloaded/src/atomics.erl b/erts/preloaded/src/atomics.erl
index 60075bf918..99a23edf7a 100644
--- a/erts/preloaded/src/atomics.erl
+++ b/erts/preloaded/src/atomics.erl
@@ -56,55 +56,55 @@ encode_opts(_, _) ->
 
 -spec put(Ref, Ix, Value) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Value :: integer().
 put(_Ref, _Ix, _Value) ->
     erlang:nif_error(undef).
 
 -spec get(Ref, Ix) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer().
+      Ix :: pos_integer().
 get(_Ref, _Ix) ->
     erlang:nif_error(undef).
 
 -spec add(Ref, Ix, Incr) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add(_Ref, _Ix, _Incr) ->
     erlang:nif_error(undef).
 
 -spec add_get(Ref, Ix, Incr) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add_get(_Ref, _Ix, _Incr) ->
     erlang:nif_error(undef).
 
 -spec sub(Ref, Ix, Decr) -> ok when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub(Ref, Ix, Decr) ->
     ?MODULE:add(Ref, Ix, -Decr).
 
 -spec sub_get(Ref, Ix, Decr) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub_get(Ref, Ix, Decr) ->
     ?MODULE:add_get(Ref, Ix, -Decr).
 
 -spec exchange(Ref, Ix, Desired) -> integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Desired :: integer().
 exchange(_Ref, _Ix, _Desired) ->
     erlang:nif_error(undef).
 
 -spec compare_exchange(Ref, Ix, Expected, Desired) -> ok | integer() when
       Ref  :: atomics_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Expected :: integer(),
       Desired :: integer().
 compare_exchange(_Ref, _Ix, _Expected, _Desired) ->
diff --git a/erts/preloaded/src/counters.erl b/erts/preloaded/src/counters.erl
index 9c249a0b73..ba26ef90e9 100644
--- a/erts/preloaded/src/counters.erl
+++ b/erts/preloaded/src/counters.erl
@@ -48,7 +48,7 @@ new(_, _) ->
 
 -spec get(Ref, Ix) -> integer() when
       Ref  :: counters_ref(),
-      Ix :: integer().
+      Ix :: pos_integer().
 get({atomics,Ref}, Ix) ->
     atomics:get(Ref, Ix);
 get({write_concurrency, Ref}, Ix) ->
@@ -60,7 +60,7 @@ get(_, _) ->
 
 -spec add(Ref, Ix, Incr) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Incr :: integer().
 add({atomics, Ref}, Ix, Incr) ->
     atomics:add(Ref, Ix, Incr);
@@ -72,7 +72,7 @@ add(_, _, _) ->
 
 -spec sub(Ref, Ix, Decr) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Decr :: integer().
 sub(Ref, Ix, Decr) ->
     add(Ref, Ix, -Decr).
@@ -80,7 +80,7 @@ sub(Ref, Ix, Decr) ->
 
 -spec put(Ref, Ix, Value) -> ok when
       Ref  :: counters_ref(),
-      Ix :: integer(),
+      Ix :: pos_integer(),
       Value :: integer().
 put({atomics, Ref}, Ix, Value) ->
     atomics:put(Ref, Ix, Value);
-- 
2.43.0

openSUSE Build Service is sponsored by