Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
1480-erts-Fix-erts_code_purger-to-not-drop-fini...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1480-erts-Fix-erts_code_purger-to-not-drop-finish_after_o.patch of Package erlang
From 0d82c2149ed92fb68b49dc0a51932b1d6c3fc4a0 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Mon, 26 Feb 2024 21:25:45 +0100 Subject: [PATCH] erts: Fix erts_code_purger to not drop finish_after_on_load messages while doing a purge operation in cpc_receive(). The symptom will be code_server process hanging in erts_code_purger:finish_after_on_load/2 waiting for reply. This is probably not a problem as long as only the code server interface (code) is used to load and purge code and not the discouraged lower level functions like erlang:purge_module. --- erts/preloaded/ebin/erts_code_purger.beam | Bin 14112 -> 14152 bytes erts/preloaded/src/erts_code_purger.erl | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/erts/preloaded/src/erts_code_purger.erl b/erts/preloaded/src/erts_code_purger.erl index 9f6bd6e289..0e4ca19ae6 100644 --- a/erts/preloaded/src/erts_code_purger.erl +++ b/erts/preloaded/src/erts_code_purger.erl @@ -270,7 +270,8 @@ cpc_receive(#cpc_static{tag = Tag} = CpcS, {NoReq, PidsLeft} = ReqInfo, PReqs); PReq when element(1, PReq) == purge; element(1, PReq) == soft_purge; - element(1, PReq) == test_purge -> + element(1, PReq) == test_purge; + element(1, PReq) == finish_after_on_load -> %% A new purge request; save it until later... cpc_receive(CpcS, ReqInfo, KillState0, [PReq | PReqs]); -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor