From 80b55d320bae6743130701af3b5c395d21ce748d Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 1 Nov 1995 10:00:20 +0000 Subject: * 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. --- ChangeLog | 10 ++++++++++ hurd/hurd/resource.h | 10 ++++++---- hurd/hurdprio.c | 6 ++++-- posix/regex.c | 3 ++- sysdeps/mach/hurd/getpriority.c | 9 +++++---- sysdeps/mach/hurd/setpriority.c | 4 ++-- 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index f7798649f8..9e49498afe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ Tue Oct 31 00:07:29 1995 Roland McGrath + * 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 ad2a61ab42..042df05008 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 8bad2563fb..9360738988 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 f1db89adf6..3ca7bb267d 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 5b24ce23f8..933592fe8e 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 644bfdf6fe..4d2e3f3591 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. */ -- cgit v1.2.3