Blob Blame History Raw
diff -up numactl-1.0.2/numactl.c.orig numactl-1.0.2/numactl.c
--- numactl-1.0.2/numactl.c.orig	2007-09-21 06:23:51.000000000 -0400
+++ numactl-1.0.2/numactl.c	2008-04-25 09:10:05.000000000 -0400
@@ -355,14 +355,14 @@ int main(int ac, char **av)
 			break;
 		case 'C': /* --physcpubind */
 		{
-			int ncpus;
+			int bufsz;
 			unsigned long *cpubuf;
 			dontshm("-C/--physcpubind");
-			cpubuf = cpumask(optarg, &ncpus);
+			cpubuf = cpumask(optarg, &bufsz);
 			errno = 0;
 			check_cpubind(do_shm);
 			did_cpubind = 1;
-			numa_sched_setaffinity(0, CPU_BYTES(ncpus), cpubuf);
+			numa_sched_setaffinity(0, bufsz, cpubuf);
 			checkerror("sched_setaffinity");
 			free(cpubuf);
 			break;
diff -up numactl-1.0.2/util.h.orig numactl-1.0.2/util.h
--- numactl-1.0.2/util.h.orig	2007-08-16 10:36:23.000000000 -0400
+++ numactl-1.0.2/util.h	2008-04-25 09:10:05.000000000 -0400
@@ -1,7 +1,7 @@
 extern void printmask(char *name, nodemask_t *mask);
 extern void printcpumask(char *name, unsigned long *mask, int len);
 extern nodemask_t nodemask(char *s);
-extern unsigned long *cpumask(char *s, int *ncpus);
+extern unsigned long *cpumask(char *s, int *bufsz);
 extern int read_sysctl(char *name);
 extern void complain(char *fmt, ...);
 extern void nerror(char *fmt, ...);
diff -up numactl-1.0.2/util.c.orig numactl-1.0.2/util.c
--- numactl-1.0.2/util.c.orig	2007-08-16 10:36:23.000000000 -0400
+++ numactl-1.0.2/util.c	2008-04-25 09:10:45.000000000 -0400
@@ -52,7 +52,7 @@ void printmask(char *name, nodemask_t *m
 int numcpus; 
 
 /* caller must free buffer */
-unsigned long *cpumask(char *s, int *ncpus) 
+unsigned long *cpumask(char *s, int *bufsz) 
 {
 	int invert = 0;
 	char *end; 
@@ -92,7 +92,7 @@ unsigned long *cpumask(char *s, int *ncp
 			unsigned long arg2 = strtoul(++s, &end2, 0); 
 			if (end2 == s)
 				complain("missing cpu argument %s\n", s);
-			if (arg > numcpus)
+			if (arg >= numcpus)
 				complain("cpu argument %d out of range\n", arg);
 			while (++arg <= arg2)
 				set_bit(arg, cpubuf);
@@ -110,7 +110,7 @@ unsigned long *cpumask(char *s, int *ncp
 				set_bit(i, cpubuf);
 		}
 	} 
-	*ncpus = cpubufsize;
+	*bufsz = cpubufsize;
 	return cpubuf;	
 }