diff options
Diffstat (limited to 'erts/preloaded/src')
-rw-r--r-- | erts/preloaded/src/erlang.erl | 8 | ||||
-rw-r--r-- | erts/preloaded/src/erts_internal.erl | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index ab0cbe883e..bcbe4a5f3d 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -1757,11 +1757,9 @@ setnode(_P1, _P2) -> -spec erlang:setnode(Node, DistCtrlr, Opts) -> dist_handle() when Node :: atom(), DistCtrlr :: port() | pid(), - Opts :: {integer(), integer(), atom(), atom()}. -setnode(Node, DistCtrlr, {Flags, Ver, IC, OC} = Opts) when erlang:is_atom(IC), - erlang:is_atom(OC) -> - case case erts_internal:create_dist_channel(Node, DistCtrlr, - Flags, Ver) of + Opts :: {integer(), integer(), pos_integer()}. +setnode(Node, DistCtrlr, {_Flags, _Ver, _Creation} = Opts) -> + case case erts_internal:create_dist_channel(Node, DistCtrlr, Opts) of {ok, DH} -> DH; {message, Ref} -> receive {Ref, Res} -> Res end; Err -> Err diff --git a/erts/preloaded/src/erts_internal.erl b/erts/preloaded/src/erts_internal.erl index 0fa39ebc01..6c23b47895 100644 --- a/erts/preloaded/src/erts_internal.erl +++ b/erts/preloaded/src/erts_internal.erl @@ -67,6 +67,7 @@ -export([dist_ctrl_put_data/2]). -export([get_dflags/0]). +-export([get_creation/0]). -export([new_connection/1]). -export([abort_pending_connection/2]). @@ -89,7 +90,7 @@ -export([process_flag/3]). --export([create_dist_channel/4]). +-export([create_dist_channel/3]). -export([erase_persistent_terms/0]). @@ -568,6 +569,10 @@ dist_ctrl_put_data(DHandle, IoList) -> get_dflags() -> erlang:nif_error(undefined). +-spec erts_internal:get_creation() -> pos_integer(). +get_creation() -> + erlang:nif_error(undefined). + -spec erts_internal:new_connection(Node) -> ConnId when Node :: atom(), ConnId :: {integer(), erlang:dist_handle()}. @@ -707,17 +712,18 @@ process_display(_Pid, _Type) -> process_flag(_Pid, _Flag, _Value) -> erlang:nif_error(undefined). --spec create_dist_channel(Node, DistCtrlr, Flags, Ver) -> Result when +-spec create_dist_channel(Node, DistCtrlr, {Flags, Ver, Cr}) -> Result when Node :: atom(), DistCtrlr :: port() | pid(), Flags :: integer(), Ver :: integer(), + Cr :: pos_integer(), Result :: {'ok', erlang:dist_handle()} | {'message', reference()} | 'badarg' | 'system_limit'. -create_dist_channel(_Node, _DistCtrlr, _Flags, _Ver) -> +create_dist_channel(_Node, _DistCtrlr, _Tpl) -> erlang:nif_error(undefined). -spec erase_persistent_terms() -> 'ok'. |