aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-04-25 17:01:06 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-04-25 17:01:06 +0000
commit44f08212597f46caee40d2176feefcbb43653e16 (patch)
treeaf6da9d86508162f30fc8bc14010f438ac87b71f
parent95842fbc163d935cc5f7dc67dd49bbe906c2eae4 (diff)
downloadbusybox-w32-44f08212597f46caee40d2176feefcbb43653e16.tar.gz
busybox-w32-44f08212597f46caee40d2176feefcbb43653e16.tar.bz2
busybox-w32-44f08212597f46caee40d2176feefcbb43653e16.zip
taskset: (1ull < 65) like ops are not good, avoid that
-rw-r--r--miscutils/taskset.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/miscutils/taskset.c b/miscutils/taskset.c
index 4815b6a76..708abd9f2 100644
--- a/miscutils/taskset.c
+++ b/miscutils/taskset.c
@@ -93,8 +93,10 @@ int taskset_main(int argc ATTRIBUTE_UNUSED, char **argv)
93 unsigned i; 93 unsigned i;
94 /* Do not allow zero mask: */ 94 /* Do not allow zero mask: */
95 unsigned long long m = xstrtoull_range(aff, 0, 1, ULLONG_MAX); 95 unsigned long long m = xstrtoull_range(aff, 0, 1, ULLONG_MAX);
96 enum { CNT_BIT = CPU_SETSIZE < sizeof(m)*8 ? CPU_SETSIZE : sizeof(m)*8 };
97
96 CPU_ZERO(&mask); 98 CPU_ZERO(&mask);
97 for (i = 0; i < CPU_SETSIZE; i++) { 99 for (i = 0; i < CNT_BIT; i++) {
98 unsigned long long bit = (1ULL << i); 100 unsigned long long bit = (1ULL << i);
99 if (bit & m) 101 if (bit & m)
100 CPU_SET(i, &mask); 102 CPU_SET(i, &mask);