Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions erts/emulator/test/nif_SUITE_data/nif_SUITE.c
Original file line number Diff line number Diff line change
Expand Up @@ -2855,6 +2855,16 @@ static void monitor_resource_down(ErlNifEnv* env, void* obj, ErlNifPid* pid,
enif_send(env, &rsrc->receiver, msg_env, msg);
if (msg_env)
enif_free_env(msg_env);

/* OTP-19330 GH-8983:
* Verify calling enif_whereis_pid/port in down callback
* without lock order violation. */
{
ErlNifPid pid;
ErlNifPort port;
enif_whereis_pid(env, atom_null, &pid);
enif_whereis_port(env, atom_null, &port);
}
}

static ERL_NIF_TERM alloc_monitor_resource_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
Expand Down