aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/code_ix.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2012-02-21 20:43:23 +0100
committerSverker Eriksson <[email protected]>2012-02-23 12:15:36 +0100
commit17c62a8d1158e2c13be403e62d81140c705a8444 (patch)
tree4b829d8412d3249919fae342eb0b340b7cbf75a8 /erts/emulator/beam/code_ix.h
parentcebdde12c16ed51d2d714c4e68c24425f476e1f6 (diff)
downloadotp-17c62a8d1158e2c13be403e62d81140c705a8444.tar.gz
otp-17c62a8d1158e2c13be403e62d81140c705a8444.tar.bz2
otp-17c62a8d1158e2c13be403e62d81140c705a8444.zip
erts: Switch order between code_ix lock and thread blocking
Make for simpler code when we just can block threads and continue without having to release code_ix lock and repeat code lookups to avoid race.
Diffstat (limited to 'erts/emulator/beam/code_ix.h')
-rw-r--r--erts/emulator/beam/code_ix.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/code_ix.h b/erts/emulator/beam/code_ix.h
index bac8c3365c..c37a5fe8f4 100644
--- a/erts/emulator/beam/code_ix.h
+++ b/erts/emulator/beam/code_ix.h
@@ -83,6 +83,7 @@ ErtsCodeIndex erts_staging_code_ix(void);
/* Try lock code_ix that is needed for (exlusive) access of the staging area.
* Main process lock (only) must be held.
+ * System thread progress must not be blocked.
* Caller is suspended and *must* yield if 0 is returned.
*/
int erts_try_lock_code_ix(struct process*);