diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-08-08 07:53:36 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-08-08 07:53:36 +0000 |
commit | 972e719e8154eec5f543b027e2a08dfa285d55d5 (patch) | |
tree | d41e16b1b9b5f083132e9692611f13bc1886fa7a /sysdeps | |
parent | 9b1b33cea3ac0ae4eec04e86b1b489aeb5d2f552 (diff) | |
download | glibc-972e719e8154eec5f543b027e2a08dfa285d55d5.tar.gz glibc-972e719e8154eec5f543b027e2a08dfa285d55d5.tar.xz glibc-972e719e8154eec5f543b027e2a08dfa285d55d5.zip |
Update.
2002-05-24 Robert Love <rml@tech9.net> * posix/Makefile (routines): Add sched_getaffinity and sched_setaffinity. * posix/sched.h: Add declarations for sched_getaffinity and sched_setaffinity. * sysdeps/generic/sched_getaffinity.c: New file. * sysdeps/generic/sched_setaffinity.c: New file. * sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and sched_setaffinity. 2002-08-06 Andreas Schwab <schwab@suse.de> * sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/sched_getaffinity.c | 35 | ||||
-rw-r--r-- | sysdeps/generic/sched_setaffinity.c | 35 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/syscalls.list | 2 | ||||
-rw-r--r-- | sysdeps/unix/utime.c | 14 |
4 files changed, 78 insertions, 8 deletions
diff --git a/sysdeps/generic/sched_getaffinity.c b/sysdeps/generic/sched_getaffinity.c new file mode 100644 index 0000000000..fc3f48f9a3 --- /dev/null +++ b/sysdeps/generic/sched_getaffinity.c @@ -0,0 +1,35 @@ +/* Copyright (C) 2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/types.h> +#include <sched.h> + + +/* Retrieve the CPU affinity mask for a particular process. */ +int +sched_getaffinity (pid, len, mask) + pid_t pid; + unsigned long int len; + unsigned long int *mask; +{ + __set_errno (ENOSYS); + return -1; +} +stub_warning (sched_getaffinity) +#include <stub-tag.h> diff --git a/sysdeps/generic/sched_setaffinity.c b/sysdeps/generic/sched_setaffinity.c new file mode 100644 index 0000000000..0f80184095 --- /dev/null +++ b/sysdeps/generic/sched_setaffinity.c @@ -0,0 +1,35 @@ +/* Copyright (C) 2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <errno.h> +#include <sys/types.h> +#include <sched.h> + + +/* Retrieve the CPU affinity mask for a particular process. */ +int +sched_setaffinity (pid, len, mask) + pid_t pid; + unsigned long int len; + unsigned long int *mask; +{ + __set_errno (ENOSYS); + return -1; +} +stub_warning (sched_setaffinity) +#include <stub-tag.h> diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 8f7bfa32b2..8052fc05ec 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -39,11 +39,13 @@ pivot_root EXTRA pivot_root i:ss pivot_root prctl EXTRA prctl i:iiiii prctl query_module EXTRA query_module i:sipip query_module quotactl EXTRA quotactl i:isip quotactl +sched_getaffinity - sched_getaffinity i:iip sched_getaffinity sched_getp - sched_getparam i:ip __sched_getparam sched_getparam sched_gets - sched_getscheduler i:i __sched_getscheduler sched_getscheduler sched_primax - sched_get_priority_max i:i __sched_get_priority_max sched_get_priority_max sched_primin - sched_get_priority_min i:i __sched_get_priority_min sched_get_priority_min sched_rr_gi - sched_rr_get_interval i:ip __sched_rr_get_interval sched_rr_get_interval +sched_setaffinity - sched_setaffinity i:iip sched_setaffinity sched_setp - sched_setparam i:ip __sched_setparam sched_setparam sched_sets - sched_setscheduler i:iip __sched_setscheduler sched_setscheduler sched_yield - sched_yield i: __sched_yield sched_yield diff --git a/sysdeps/unix/utime.c b/sysdeps/unix/utime.c index cbfc351337..4a1815b2c7 100644 --- a/sysdeps/unix/utime.c +++ b/sysdeps/unix/utime.c @@ -32,21 +32,19 @@ utime (file, times) const struct utimbuf *times; { struct timeval timevals[2]; + struct timeval *tvp; if (times != NULL) { - timevals[0].tv_sec = (long int) times->actime; + timevals[0].tv_sec = (time_t) times->actime; timevals[0].tv_usec = 0L; - timevals[1].tv_sec = (long int) times->modtime; + timevals[1].tv_sec = (time_t) times->modtime; timevals[1].tv_usec = 0L; + tvp = timevals; } else - { - if (__gettimeofday (&timevals[0], NULL) < 0) - return -1; - timevals[1] = timevals[0]; - } + tvp = NULL; - return __utimes (file, timevals); + return __utimes (file, tvp); } libc_hidden_def (utime) |