diff options
author | davidxu <davidxu@FreeBSD.org> | 2010-10-27 02:32:54 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2010-10-27 02:32:54 +0000 |
commit | 29be5dcd229fd8e554eb507fe7c8c400842967af (patch) | |
tree | 3f6254f435d5ab406ba4e76390c045cc74b68c19 /sys/kern/kern_cpuset.c | |
parent | ba8d5f2b02e0cfbe215b81ae6b8c8ff2cdd8f201 (diff) | |
download | FreeBSD-src-29be5dcd229fd8e554eb507fe7c8c400842967af.zip FreeBSD-src-29be5dcd229fd8e554eb507fe7c8c400842967af.tar.gz |
If input parameter cpusetsize is zero, give userland size of cpuset mask
kernel is using.
Diffstat (limited to 'sys/kern/kern_cpuset.c')
-rw-r--r-- | sys/kern/kern_cpuset.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c index 23aa9df..b4601f1 100644 --- a/sys/kern/kern_cpuset.c +++ b/sys/kern/kern_cpuset.c @@ -889,6 +889,10 @@ cpuset_getaffinity(struct thread *td, struct cpuset_getaffinity_args *uap) 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); |