aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--hurd/hurd/resource.h10
-rw-r--r--hurd/hurdprio.c6
-rw-r--r--posix/regex.c3
-rw-r--r--sysdeps/mach/hurd/getpriority.c9
-rw-r--r--sysdeps/mach/hurd/setpriority.c4
6 files changed, 29 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index f779864..9e49498 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
Tue Oct 31 00:07:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+ * sysdeps/mach/hurd/getpriority.c (getpriority): Pass
+ PI_FETCH_TASKINFO to proc_getprocinfo and through
+ _hurd_priority_which_map.
+
+ * sysdeps/mach/hurd/setpriority.c (setpriority): Pass new arg to
+ _hurd_priority_which_map.
+ * hurd/hurdprio.c (_hurd_priority_which_map): New arg PI_FLAGS,
+ passed through to proc_getprocinfo RPC.
+ * hurd/hurd/resource.h: Add PI_FLAGS arg in decl.
+
* sysdeps/mach/hurd/group_member.c: New file.
* sysdeps/generic/group_member.c: New file.
diff --git a/hurd/hurd/resource.h b/hurd/hurd/resource.h
index ad2a61a..042df05 100644
--- a/hurd/hurd/resource.h
+++ b/hurd/hurd/resource.h
@@ -1,5 +1,5 @@
/* Resource limits for the Hurd.
-Copyright (C) 1994 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995 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
@@ -33,11 +33,13 @@ extern struct mutex _hurd_rlimit_lock; /* Locks _hurd_rlimits. */
/* Helper function for getpriority and setpriority. Maps FN over all the
processes specified by WHICH and WHO. PI is non-null if a
proc_getprocinfo was already done; FN may use *PI arbitrarily, it is
- reset on the next call. Returns FN's result the first time it returns
- nonzero. If FN never returns nonzero, this returns zero. */
+ reset on the next call; PI_FLAGS is passed to proc_getprocinfo. Returns
+ FN's result the first time it returns nonzero. If FN never returns
+ nonzero, this returns zero. */
extern error_t _hurd_priority_which_map (enum __priority_which which, int who,
error_t (*fn) (pid_t pid,
- struct procinfo *pi));
+ struct procinfo *pi),
+ int pi_flags);
/* Convert between Mach priority values and the priority
values used by getpriority, setpriority, and nice. */
diff --git a/hurd/hurdprio.c b/hurd/hurdprio.c
index 8bad256..9360738 100644
--- a/hurd/hurdprio.c
+++ b/hurd/hurdprio.c
@@ -1,5 +1,5 @@
/* Support code for dealing with priorities in the Hurd.
-Copyright (C) 1994 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995 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
@@ -22,7 +22,8 @@ Cambridge, MA 02139, USA. */
error_t
_hurd_priority_which_map (enum __priority_which which, int who,
- error_t (*function) (pid_t, struct procinfo *))
+ error_t (*function) (pid_t, struct procinfo *),
+ int pi_flags)
{
mach_msg_type_number_t npids = 64, i;
pid_t pidbuf[npids], *pids;
@@ -59,6 +60,7 @@ _hurd_priority_which_map (enum __priority_which which, int who,
int *oldpi = pi;
mach_msg_type_number_t oldpisize = pisize;
if (err = __USEPORT (PROC, __proc_getprocinfo (port, pids[i],
+ pi_flags,
&pi, &pisize)))
continue;
if (pi != oldpi && oldpi != pibuf)
diff --git a/posix/regex.c b/posix/regex.c
index f1db89a..3ca7bb2 100644
--- a/posix/regex.c
+++ b/posix/regex.c
@@ -28,6 +28,7 @@ Cambridge, MA 02139, USA. */
#pragma alloca
#endif
+#undef _GNU_SOURCE
#define _GNU_SOURCE
#ifdef HAVE_CONFIG_H
@@ -1003,7 +1004,7 @@ static const char *re_error_msgid[] =
This is a variable only so users of regex can assign to it; we never
change it ourselves. */
#if defined (MATCH_MAY_ALLOCATE)
-int re_max_failures = 200000;
+int re_max_failures = 20000;
#else
int re_max_failures = 2000;
#endif
diff --git a/sysdeps/mach/hurd/getpriority.c b/sysdeps/mach/hurd/getpriority.c
index 5b24ce2..933592f 100644
--- a/sysdeps/mach/hurd/getpriority.c
+++ b/sysdeps/mach/hurd/getpriority.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995 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
@@ -41,8 +41,8 @@ getpriority (enum __priority_which which, int who)
{
int *oldpi = pi;
unsigned int oldpisize = pisize;
- onerr = __USEPORT (PROC, __proc_getprocinfo (port,
- pid,
+ onerr = __USEPORT (PROC, __proc_getprocinfo (port, pid,
+ PI_FETCH_TASKINFO,
&pi, &pisize));
if (pi != oldpi && oldpi != pibuf)
/* Old buffer from last call was not reused; free it. */
@@ -56,7 +56,8 @@ getpriority (enum __priority_which which, int who)
}
onerr = 0;
- err = _hurd_priority_which_map (which, who, getonepriority);
+ err = _hurd_priority_which_map (which, who,
+ getonepriority, PI_FETCH_TASKINFO);
if (pi != pibuf)
__vm_deallocate (__mach_task_self (),
diff --git a/sysdeps/mach/hurd/setpriority.c b/sysdeps/mach/hurd/setpriority.c
index 644bfdf..4d2e3f3 100644
--- a/sysdeps/mach/hurd/setpriority.c
+++ b/sysdeps/mach/hurd/setpriority.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995 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
@@ -67,7 +67,7 @@ setpriority (enum __priority_which which, int who, int prio)
npids = ntasks = nwin = nperm = nacces = 0;
pidloser = priloser = 0;
- err = _hurd_priority_which_map (which, who, setonepriority);
+ err = _hurd_priority_which_map (which, who, setonepriority, 0);
if (!err && npids == 0)
/* No error, but no pids found. */