#include "types.hh" #include "util.hh" #include "affinity.hh" #if HAVE_SCHED_H #include #endif namespace nix { #if HAVE_SCHED_SETAFFINITY static bool didSaveAffinity = false; static cpu_set_t savedAffinity; #endif void setAffinityTo(int cpu) { #if HAVE_SCHED_SETAFFINITY if (sched_getaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1) return; didSaveAffinity = true; printMsg(lvlDebug, format("locking this thread to CPU %1%") % cpu); cpu_set_t newAffinity; CPU_ZERO(&newAffinity); CPU_SET(cpu, &newAffinity); if (sched_setaffinity(0, sizeof(cpu_set_t), &newAffinity) == -1) printMsg(lvlError, format("failed to lock thread to CPU %1%") % cpu); #endif } int lockToCurrentCPU() { #if HAVE_SCHED_SETAFFINITY int cpu = sched_getcpu(); if (cpu != -1) setAffinityTo(cpu); return cpu; #else return -1; #endif } void restoreAffinity() { #if HAVE_SCHED_SETAFFINITY if (!didSaveAffinity) return; if (sched_setaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1) printMsg(lvlError, "failed to restore affinity %1%"); #endif } } the flow of data in JS program, based on UglifyJS
aboutsummaryrefslogtreecommitdiff
path: root/test/compress/side_effects.js
AgeCommit message (Expand)Author
2020-12-24replace `keep_fargs` default to `false` (#4443)Alex Lam S.L
2020-12-12clarify corner case in object literal (#4371)...closes #4366Alex Lam S.L
2020-11-29fix corner case in `side_effects` (#4326)...fixes #4325Alex Lam S.L
2020-10-04enhance `side_effects` (#4175)Alex Lam S.L
2020-09-18enhance `side_effects` (#4124)...- add documentation for `merge_vars`Alex Lam S.L
2020-07-01fix corner case in `side_effects` (#4009)...fixes #4008Alex Lam S.L
2020-06-10fix corner case in `side_effects` (#3984)...fixes #3983Alex Lam S.L
2020-06-08fix corner cases related to `in` (#3964)Alex Lam S.L
2020-06-05fix corner cases in `assignments`, `reduce_vars` & `unused` (#3950)...fixes #3949 fixes #3951Alex Lam S.L
2019-12-27fix corner case in `unsafe` (#3646)Alex Lam S.L