about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-08 07:53:36 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-08 07:53:36 +0000
commit972e719e8154eec5f543b027e2a08dfa285d55d5 (patch)
treed41e16b1b9b5f083132e9692611f13bc1886fa7a /sysdeps
parent9b1b33cea3ac0ae4eec04e86b1b489aeb5d2f552 (diff)
downloadglibc-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.c35
-rw-r--r--sysdeps/generic/sched_setaffinity.c35
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
-rw-r--r--sysdeps/unix/utime.c14
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)