Garrett Cooper wrote:
On Tue, Oct 26, 2010 at 7:32 PM, David Xu <davi...@freebsd.org> wrote:
Author: davidxu
Date: Wed Oct 27 02:32:54 2010
New Revision: 214409
URL: http://svn.freebsd.org/changeset/base/214409
Log:
If input parameter cpusetsize is zero, give userland size of cpuset mask
kernel is using.
Modified:
head/sys/kern/kern_cpuset.c
Modified: head/sys/kern/kern_cpuset.c
==============================================================================
--- head/sys/kern/kern_cpuset.c Wed Oct 27 02:07:25 2010 (r214408)
+++ head/sys/kern/kern_cpuset.c Wed Oct 27 02:32:54 2010 (r214409)
@@ -889,6 +889,10 @@ cpuset_getaffinity(struct thread *td, st
int error;
size_t size;
+ if (uap->cpusetsize == 0) {
+ td->td_retval[0] = sizeof(cpuset_t);
+ return (0);
+ }
if (uap->cpusetsize < sizeof(cpuset_t) ||
uap->cpusetsize > CPU_MAXSIZE / NBBY)
return (ERANGE);
Isn't this requirement partly broken now?
[ERANGE] The cpusetsize was either preposterously large or
smaller than the kernel set size.
Why should cpuset(2) be broken in favor of people not passing valid values?
Thanks,
-Garrett
I really hate to see such a problem that userland can not figure out
what kernel is using, I try hardly to guess, but still can not find
what it is using. yes, I think the doc may need to be fixed or
another syscall is needed.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"