diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-02-25 15:27:29 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-02-25 15:27:29 +0100 |
commit | 93d2038e91854d4bc4fd75dac7005719a79949cd (patch) | |
tree | 6e56bd00815e289a2792bbc2d21ca02ea4791ee7 /erts/emulator/beam/erl_bif_info.c | |
parent | 87ed3fe4d7ddbc3c64d182032e9fe054600cf5ba (diff) | |
parent | 0ca09ee90d6384e74d1b18ab0e05f2c05fc03905 (diff) | |
download | otp-93d2038e91854d4bc4fd75dac7005719a79949cd.tar.gz otp-93d2038e91854d4bc4fd75dac7005719a79949cd.tar.bz2 otp-93d2038e91854d4bc4fd75dac7005719a79949cd.zip |
Merge branch 'egil/heart-callback/OTP-13250' into maint
Diffstat (limited to 'erts/emulator/beam/erl_bif_info.c')
-rw-r--r-- | erts/emulator/beam/erl_bif_info.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 414ff6711a..8bf6877bea 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -65,6 +65,7 @@ static Export* gather_io_bytes_trap = NULL; static Export *gather_sched_wall_time_res_trap; static Export *gather_gc_info_res_trap; +static Export *gather_system_check_res_trap; #define DECL_AM(S) Eterm AM_ ## S = am_atom_put(#S, sizeof(#S) - 1) @@ -3784,6 +3785,18 @@ BIF_RETTYPE erts_internal_is_system_process_1(BIF_ALIST_1) BIF_ERROR(BIF_P, BADARG); } +BIF_RETTYPE erts_internal_system_check_1(BIF_ALIST_1) +{ + Eterm res; + if (ERTS_IS_ATOM_STR("schedulers", BIF_ARG_1)) { + res = erts_system_check_request(BIF_P); + if (is_non_value(res)) + BIF_RET(am_undefined); + BIF_TRAP1(gather_system_check_res_trap, BIF_P, res); + } + + BIF_ERROR(BIF_P, BADARG); +} static erts_smp_atomic_t hipe_test_reschedule_flag; @@ -4391,6 +4404,8 @@ erts_bif_info_init(void) = erts_export_put(am_erlang, am_gather_gc_info_result, 1); gather_io_bytes_trap = erts_export_put(am_erts_internal, am_gather_io_bytes, 2); + gather_system_check_res_trap + = erts_export_put(am_erts_internal, am_gather_system_check_result, 1); process_info_init(); os_info_init(); } |