diff options
author | Rickard Green <rickard@erlang.org> | 2010-08-31 14:33:59 +0200 |
---|---|---|
committer | Rickard Green <rickard@erlang.org> | 2010-08-31 14:33:59 +0200 |
commit | 4b9764486a928ef737da318bdb50d0ebe68f8a93 (patch) | |
tree | 40cc8d26e69679d1d105d0422e5751229c39ea08 /erts/emulator/beam/erl_process.c | |
parent | 0bcb7009fe4f3bbdf630c226d7e7335f9c005cf0 (diff) | |
download | otp-4b9764486a928ef737da318bdb50d0ebe68f8a93.tar.gz otp-4b9764486a928ef737da318bdb50d0ebe68f8a93.tar.bz2 otp-4b9764486a928ef737da318bdb50d0ebe68f8a93.zip |
Fix erroneous error reports about unbind failure
On platforms where binding of schedulers is not supported, numerous error
reports on the form "Scheduler <N> failed to unbind from cpu -1: enotsup"
were erroneously issued. This bug was introduced in the 'dev' branch
before R14B (commit 1b273b618002d65159453fdfb9520a9476e4423a). That is,
the bug has never been seen in a released runtime system.
Reported-By: Tuncer Ayaz
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r-- | erts/emulator/beam/erl_process.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 0e78727316..0417109a8a 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -3970,13 +3970,13 @@ check_cpu_bind(ErtsSchedulerData *esdp) goto unbind; } } - else if (cpu_id < 0) /* && scheduler2cpu_map[esdp->no].bound_id >= 0) */ { + else if (cpu_id < 0) { unbind: /* Get rid of old binding */ res = erts_unbind_from_cpu(erts_cpuinfo); if (res == 0) esdp->cpu_id = scheduler2cpu_map[esdp->no].bound_id = -1; - else { + else if (res != -ENOTSUP) { erts_dsprintf_buf_t *dsbufp = erts_create_logger_dsbuf(); erts_dsprintf(dsbufp, "Scheduler %d failed to unbind from cpu %d: %s\n", (int) esdp->no, cpu_id, erl_errno_id(-res)); |