[patch] wrong second parameter on sched_set/getaffinity

Robert Love rml@tech9.net
Sun Nov 24 22:06:00 GMT 2002


The correct second parameter for the affinity system calls, as exported
by the kernel, is `unsigned int' not `unsigned long'.

The attached patch makes this change to the few places that provide the
function parameters list.

I do not know the ramifications of making this change... but I suspect
not very many are using these calls yet.

Is this sufficient?

Thanks,

	Robert Love
-------------- next part --------------
 ChangeLog                   |    7 +++++++
 sched.h                     |    4 ++--
 generic/sched_getaffinity.c |    2 +-
 generic/sched_setaffinity.c |    2 +-
 4 files changed, 11 insertions(+), 4 deletions(-)


Index: ChangeLog
===================================================================
RCS file: /cvs/glibc/libc/ChangeLog,v
retrieving revision 1.6935
diff -u -r1.6935 ChangeLog
--- ChangeLog	25 Nov 2002 01:53:29 -0000	1.6935
+++ ChangeLog	25 Nov 2002 04:32:44 -0000
@@ -1,3 +1,10 @@
+2002-11-24  Robert Love  <rml@tech9.net>
+
+	* posix/sched.h: second parameter of sched_setaffinity and
+	  sched_getaffinity is `unsigned int', not `unsigned long'
+	* sysdeps/generic/sched_setaffinity.c: Likewise
+	* sysdeps/generic/sched_getaffinity.c: Likewise
+
 2002-11-24  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/elf.h (EM_ST19): Fix typo.
Index: posix/sched.h
===================================================================
RCS file: /cvs/glibc/libc/posix/sched.h,v
retrieving revision 1.11
diff -u -r1.11 sched.h
--- posix/sched.h	8 Aug 2002 07:45:30 -0000	1.11
+++ posix/sched.h	25 Nov 2002 04:32:55 -0000
@@ -65,11 +65,11 @@
 
 #ifdef __USE_GNU
 /* Set the CPU affinity for a task */
-extern int sched_setaffinity (__pid_t __pid, unsigned long int __len,
+extern int sched_setaffinity (__pid_t __pid, unsigned int __len,
 			      unsigned long int *__mask) __THROW;
 
 /* Get the CPU affinity for a task */
-extern int sched_getaffinity (__pid_t __pid, unsigned long int __len,
+extern int sched_getaffinity (__pid_t __pid, unsigned int __len,
 			      unsigned long int *__mask) __THROW;
 #endif
 
Index: sysdeps/generic/sched_getaffinity.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/sched_getaffinity.c,v
retrieving revision 1.1
diff -u -r1.1 sched_getaffinity.c
--- sysdeps/generic/sched_getaffinity.c	8 Aug 2002 07:43:50 -0000	1.1
+++ sysdeps/generic/sched_getaffinity.c	25 Nov 2002 04:33:00 -0000
@@ -25,7 +25,7 @@
 int
 sched_getaffinity (pid, len, mask)
      pid_t pid;
-     unsigned long int len;
+     unsigned int len;
      unsigned long int *mask;
 {
   __set_errno (ENOSYS);
Index: sysdeps/generic/sched_setaffinity.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/sched_setaffinity.c,v
retrieving revision 1.1
diff -u -r1.1 sched_setaffinity.c
--- sysdeps/generic/sched_setaffinity.c	8 Aug 2002 07:44:20 -0000	1.1
+++ sysdeps/generic/sched_setaffinity.c	25 Nov 2002 04:33:00 -0000
@@ -25,7 +25,7 @@
 int
 sched_setaffinity (pid, len, mask)
      pid_t pid;
-     unsigned long int len;
+     unsigned int len;
      unsigned long int *mask;
 {
   __set_errno (ENOSYS);


More information about the Libc-alpha mailing list