aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorSteve Vinoski <[email protected]>2015-12-21 23:07:10 -0500
committerSteve Vinoski <[email protected]>2015-12-21 23:07:10 -0500
commit47a7d8b9d701b81355a02f4bad8d16a327bc1588 (patch)
treeda509da5192bed7f6ecde6e116e645004618b36d /erts/emulator/beam/erl_process.h
parent21d6192389a04024f7a41ced9d0911a9cce6f4e8 (diff)
downloadotp-47a7d8b9d701b81355a02f4bad8d16a327bc1588.tar.gz
otp-47a7d8b9d701b81355a02f4bad8d16a327bc1588.tar.bz2
otp-47a7d8b9d701b81355a02f4bad8d16a327bc1588.zip
Do not allow aux work on dirty schedulers
The nature of aux work is such that dirty schedulers should not attempt to perform it. Modify the code to ensure that dirty schedulers avoid aux work. Also fix an incorrect assumption about the size of a Uint in the ErtsDirtySchedId type.
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index 10c6fa4a67..f5f50b77ba 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -607,7 +607,7 @@ typedef enum {
typedef union {
struct {
ErtsDirtySchedulerType type: 1;
- unsigned num: 31;
+ Uint num: sizeof(Uint)*8 - 1;
} s;
Uint no;
} ErtsDirtySchedId;