* 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.
This commit is contained in:
parent
3bbceb1287
commit
80b55d320b
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
|||||||
Tue Oct 31 00:07:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
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/mach/hurd/group_member.c: New file.
|
||||||
* sysdeps/generic/group_member.c: New file.
|
* sysdeps/generic/group_member.c: New file.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Resource limits for the Hurd.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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
|
/* Helper function for getpriority and setpriority. Maps FN over all the
|
||||||
processes specified by WHICH and WHO. PI is non-null if a
|
processes specified by WHICH and WHO. PI is non-null if a
|
||||||
proc_getprocinfo was already done; FN may use *PI arbitrarily, it is
|
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
|
reset on the next call; PI_FLAGS is passed to proc_getprocinfo. Returns
|
||||||
nonzero. If FN never returns nonzero, this returns zero. */
|
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,
|
extern error_t _hurd_priority_which_map (enum __priority_which which, int who,
|
||||||
error_t (*fn) (pid_t pid,
|
error_t (*fn) (pid_t pid,
|
||||||
struct procinfo *pi));
|
struct procinfo *pi),
|
||||||
|
int pi_flags);
|
||||||
|
|
||||||
/* Convert between Mach priority values and the priority
|
/* Convert between Mach priority values and the priority
|
||||||
values used by getpriority, setpriority, and nice. */
|
values used by getpriority, setpriority, and nice. */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Support code for dealing with priorities in the Hurd.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -22,7 +22,8 @@ Cambridge, MA 02139, USA. */
|
|||||||
|
|
||||||
error_t
|
error_t
|
||||||
_hurd_priority_which_map (enum __priority_which which, int who,
|
_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;
|
mach_msg_type_number_t npids = 64, i;
|
||||||
pid_t pidbuf[npids], *pids;
|
pid_t pidbuf[npids], *pids;
|
||||||
@ -59,6 +60,7 @@ _hurd_priority_which_map (enum __priority_which which, int who,
|
|||||||
int *oldpi = pi;
|
int *oldpi = pi;
|
||||||
mach_msg_type_number_t oldpisize = pisize;
|
mach_msg_type_number_t oldpisize = pisize;
|
||||||
if (err = __USEPORT (PROC, __proc_getprocinfo (port, pids[i],
|
if (err = __USEPORT (PROC, __proc_getprocinfo (port, pids[i],
|
||||||
|
pi_flags,
|
||||||
&pi, &pisize)))
|
&pi, &pisize)))
|
||||||
continue;
|
continue;
|
||||||
if (pi != oldpi && oldpi != pibuf)
|
if (pi != oldpi && oldpi != pibuf)
|
||||||
|
@ -28,6 +28,7 @@ Cambridge, MA 02139, USA. */
|
|||||||
#pragma alloca
|
#pragma alloca
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#undef _GNU_SOURCE
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#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
|
This is a variable only so users of regex can assign to it; we never
|
||||||
change it ourselves. */
|
change it ourselves. */
|
||||||
#if defined (MATCH_MAY_ALLOCATE)
|
#if defined (MATCH_MAY_ALLOCATE)
|
||||||
int re_max_failures = 200000;
|
int re_max_failures = 20000;
|
||||||
#else
|
#else
|
||||||
int re_max_failures = 2000;
|
int re_max_failures = 2000;
|
||||||
#endif
|
#endif
|
||||||
|
@ -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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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;
|
int *oldpi = pi;
|
||||||
unsigned int oldpisize = pisize;
|
unsigned int oldpisize = pisize;
|
||||||
onerr = __USEPORT (PROC, __proc_getprocinfo (port,
|
onerr = __USEPORT (PROC, __proc_getprocinfo (port, pid,
|
||||||
pid,
|
PI_FETCH_TASKINFO,
|
||||||
&pi, &pisize));
|
&pi, &pisize));
|
||||||
if (pi != oldpi && oldpi != pibuf)
|
if (pi != oldpi && oldpi != pibuf)
|
||||||
/* Old buffer from last call was not reused; free it. */
|
/* Old buffer from last call was not reused; free it. */
|
||||||
@ -56,7 +56,8 @@ getpriority (enum __priority_which which, int who)
|
|||||||
}
|
}
|
||||||
|
|
||||||
onerr = 0;
|
onerr = 0;
|
||||||
err = _hurd_priority_which_map (which, who, getonepriority);
|
err = _hurd_priority_which_map (which, who,
|
||||||
|
getonepriority, PI_FETCH_TASKINFO);
|
||||||
|
|
||||||
if (pi != pibuf)
|
if (pi != pibuf)
|
||||||
__vm_deallocate (__mach_task_self (),
|
__vm_deallocate (__mach_task_self (),
|
||||||
|
@ -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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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;
|
npids = ntasks = nwin = nperm = nacces = 0;
|
||||||
pidloser = priloser = 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)
|
if (!err && npids == 0)
|
||||||
/* No error, but no pids found. */
|
/* No error, but no pids found. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user