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.
This commit is contained in:
Ulrich Drepper 2002-08-08 07:53:36 +00:00
parent 9b1b33cea3
commit 972e719e81
7 changed files with 106 additions and 10 deletions

View File

@ -1,3 +1,18 @@
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.
2002-08-07 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error

View File

@ -51,7 +51,7 @@ routines := \
confstr \
getopt getopt1 getopt_init \
sched_setp sched_getp sched_sets sched_gets sched_yield sched_primax \
sched_primin sched_rr_gi \
sched_primin sched_rr_gi sched_getaffinity sched_setaffinity \
getaddrinfo gai_strerror wordexp \
pread pwrite pread64 pwrite64 \
spawn_faction_init spawn_faction_destroy spawn_faction_addclose \

View File

@ -1,5 +1,5 @@
/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 1999, 2001, 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
@ -62,6 +62,17 @@ extern int sched_get_priority_min (int __algorithm) __THROW;
/* Get the SCHED_RR interval for the named process. */
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
#ifdef __USE_GNU
/* Set the CPU affinity for a task */
extern int sched_setaffinity (__pid_t __pid, unsigned long 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,
unsigned long int *__mask) __THROW;
#endif
__END_DECLS
#endif /* sched.h */

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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)