summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/code_ix.h
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/beam/code_ix.h')
-rw-r--r--erts/emulator/beam/code_ix.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/erts/emulator/beam/code_ix.h b/erts/emulator/beam/code_ix.h
index 42976d2301..64a9c95979 100644
--- a/erts/emulator/beam/code_ix.h
+++ b/erts/emulator/beam/code_ix.h
@@ -133,6 +133,15 @@ ErtsCodeIndex erts_staging_code_ix(void);
*/
int erts_try_seize_code_write_permission(struct process* c_p);
+/* Try seize exclusive code write permission for aux work.
+ * System thread progress must not be blocked.
+ * On success return true.
+ * On failure return false and aux work func(arg) will be scheduled when
+ * permission is released. .
+ */
+int erts_try_seize_code_write_permission_aux(void (*func)(void *),
+ void *arg);
+
/* Release code write permission.
* Will resume any suspended waiters.
*/