27 lines
899 B
Plaintext
27 lines
899 B
Plaintext
|
diff -urp numactl-0.9.6/libnuma.c numactl/libnuma.c
|
||
|
--- numactl-0.9.6/libnuma.c 2006-05-23 23:20:56.000000000 +0200
|
||
|
+++ numactl/libnuma.c 2006-03-28 00:17:05.000000000 +0200
|
||
|
@@ -493,16 +493,12 @@ int numa_node_to_cpus(int node, unsigned
|
||
|
|
||
|
/* if mask[0] is full shift left before adding another */
|
||
|
if (bits_in_mask_0 >= sizeof(mask[0])*8) {
|
||
|
- /* skip any leading zeros */
|
||
|
- if (prev || mask[0]){
|
||
|
- /* shift over any previously loaded masks */
|
||
|
- memmove(mask+mask_words+1, mask+mask_words,
|
||
|
- sizeof(mask[0]) * mask_words);
|
||
|
- mask_words++;
|
||
|
- bits_in_mask_0 = 0;
|
||
|
- mask[0] = 0;
|
||
|
- prev = 1;
|
||
|
- }
|
||
|
+ /* shift over any previously loaded masks */
|
||
|
+ mask_words++;
|
||
|
+ for (n = mask_words; n > 0; n--)
|
||
|
+ memmove(mask+n, mask+n-1, sizeof(mask[0]));
|
||
|
+ bits_in_mask_0 = 0;
|
||
|
+ mask[0] = 0;
|
||
|
}
|
||
|
|
||
|
mask[0] = (mask[0]*16) + (w - hexdigits);
|