mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
Update.
1998-12-05 Ulrich Drepper <drepper@cygnus.com> * sysdeps/gnu/bits/utmp.h: Rename struct exit_status to __exit_status. (struct __exit_status): Define members without leading __ only for __USE_GNU. * sysdeps/gnu/bits/utmpx.h (struct __exit_status): Define members without leading __ only for __USE_GNU.
This commit is contained in:
parent
a6ff34d7b0
commit
31604a65d1
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
1998-12-05 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/gnu/bits/utmp.h: Rename struct exit_status to
|
||||
__exit_status.
|
||||
(struct __exit_status): Define members without leading __ only for
|
||||
__USE_GNU.
|
||||
|
||||
* sysdeps/gnu/bits/utmpx.h (struct __exit_status): Define members
|
||||
without leading __ only for __USE_GNU.
|
||||
|
||||
1998-12-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* argp/argp.h: Add __retrict.
|
||||
|
38
PROJECTS
38
PROJECTS
@ -1,6 +1,6 @@
|
||||
Open jobs for finishing GNU libc:
|
||||
---------------------------------
|
||||
Status: November 1998
|
||||
Status: December 1998
|
||||
|
||||
If you have time and talent to take over any of the jobs below please
|
||||
contact <bug-glibc@gnu.org>.
|
||||
@ -102,6 +102,7 @@ contact <bug-glibc@gnu.org>.
|
||||
|
||||
Blargh!
|
||||
|
||||
|
||||
[16] The libio stream file functions should be extended in a way to use
|
||||
mmap to map the file and use it as the buffer to user sees. For
|
||||
read-only streams this should be rather easy and it avoids all read()
|
||||
@ -113,24 +114,44 @@ contact <bug-glibc@gnu.org>.
|
||||
to the page size and install the correct length only for fclose() and
|
||||
fflush() calls.
|
||||
|
||||
|
||||
[18] Based on the sprof program we need tools to analyze the output. The
|
||||
result should be a link map which specifies in which order the .o
|
||||
files are placed in the shared object. This should help to improve
|
||||
code locality and result in a smaller foorprint (in code and data
|
||||
memory) since less pages are only used in small parts.
|
||||
|
||||
|
||||
[19] A user-level STREAMS implementation should be available if the
|
||||
kernel does not provide the support.
|
||||
|
||||
|
||||
[20] More conversion modules for iconv(3). Existing modules should be
|
||||
extended to do things like transliteration if this is wanted.
|
||||
For often used conversion a direct conversion function should be
|
||||
available.
|
||||
|
||||
|
||||
[21] The nscd program and the stubs in the libc should be changed so
|
||||
that each program uses only one socket connect. Take a look at
|
||||
http://www.cygnus.com/~drepper/nscd.html
|
||||
|
||||
An alternative approach is to use an mmap()ed file. The idea is
|
||||
the following:
|
||||
- the nscd creates the hash tables and the information it stores
|
||||
in it in a mmap()ed region. This means no pointers must be
|
||||
used, only offsets.
|
||||
- each program using NSS functionality tries to open the file
|
||||
with the data.
|
||||
- by checking some timestamp (which the nscd renew frequently)
|
||||
the programs can test whether the file is still valid
|
||||
- if the file is valid look through the nscd and locate the
|
||||
appropriate hash table for the database and lookup the data.
|
||||
If it is included we are set.
|
||||
- if the data is not yet in the database we contact the nscd using
|
||||
the currently implemented methods.
|
||||
|
||||
|
||||
[22] It should be possible to have the information gconv-modules in
|
||||
a simple database which is faster to access. Using libdb is probably
|
||||
overkill and loading it would probably be slower than reading the
|
||||
@ -140,7 +161,7 @@ contact <bug-glibc@gnu.org>.
|
||||
should start similar to this:
|
||||
|
||||
if (stat ("gconv-modules", &stp) == 0
|
||||
&& stat ("gconv-modules.db", %std) == 0
|
||||
&& stat ("gconv-modules.db", &std) == 0
|
||||
&& stp.st_mtime < std.st_mtime)
|
||||
{
|
||||
... use the database ...
|
||||
@ -150,6 +171,7 @@ contact <bug-glibc@gnu.org>.
|
||||
... use the plain file if it exists, otherwise the db ...
|
||||
}
|
||||
|
||||
|
||||
[23] The `strptime' function needs to be completed. This includes among
|
||||
other things that it must get teached about timezones. The solution
|
||||
envisioned is to extract the timezones from the ADO timezone
|
||||
@ -160,5 +182,13 @@ contact <bug-glibc@gnu.org>.
|
||||
Standard Time' if the current TZ variable is set to, say,
|
||||
Australia/Canberra or if the current locale is en_AU.
|
||||
|
||||
[24] Allow add-ons to specify dependencies and generate the content of
|
||||
`all-subdirs' in Makeconfig dynamically.
|
||||
|
||||
[25] Sun's nscd version implements a feature where the nscd keeps N entries
|
||||
for each database current. I.e., if an entries lifespan is over and
|
||||
it is one of the N entries to be kept the nscd updates the information
|
||||
instead of removing the entry.
|
||||
|
||||
How to decide about which N entries to keep has to be examined.
|
||||
Factors should be number of uses (of course), influenced by aging.
|
||||
Just imagine a computer used by several people. The IDs of the current
|
||||
user should be preferred even if the last user spent more time.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* The `struct utmp' type, describing entries in the utmp file. GNU version.
|
||||
Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1993, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
@ -42,29 +42,34 @@ struct lastlog
|
||||
|
||||
/* The structure describing the status of a terminated process. This
|
||||
type is used in `struct utmp' below. */
|
||||
struct exit_status
|
||||
struct __exit_status
|
||||
{
|
||||
#ifdef __USE_GNU
|
||||
short int e_termination; /* Process termination status. */
|
||||
short int e_exit; /* Process exit status. */
|
||||
#else
|
||||
short int __e_termination; /* Process termination status. */
|
||||
short int __e_exit; /* Process exit status. */
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
/* The structure describing an entry in the user accounting database. */
|
||||
struct utmp
|
||||
{
|
||||
short int ut_type; /* Type of login. */
|
||||
pid_t ut_pid; /* Process ID of login process. */
|
||||
char ut_line[UT_LINESIZE]; /* Devicename. */
|
||||
char ut_id[4]; /* Inittab ID. */
|
||||
char ut_user[UT_NAMESIZE]; /* Username. */
|
||||
char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
||||
struct exit_status ut_exit; /* Exit status of a process marked
|
||||
{
|
||||
short int ut_type; /* Type of login. */
|
||||
pid_t ut_pid; /* Process ID of login process. */
|
||||
char ut_line[UT_LINESIZE]; /* Devicename. */
|
||||
char ut_id[4]; /* Inittab ID. */
|
||||
char ut_user[UT_NAMESIZE]; /* Username. */
|
||||
char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */
|
||||
struct __exit_status ut_exit; /* Exit status of a process marked
|
||||
as DEAD_PROCESS. */
|
||||
long ut_session; /* Session ID, used for windowing. */
|
||||
struct timeval ut_tv; /* Time entry was made. */
|
||||
int32_t ut_addr_v6[4]; /* Internet address of remote host. */
|
||||
char __unused[20]; /* Reserved for future use. */
|
||||
};
|
||||
long int ut_session; /* Session ID, used for windowing. */
|
||||
struct timeval ut_tv; /* Time entry was made. */
|
||||
int32_t ut_addr_v6[4]; /* Internet address of remote host. */
|
||||
char __unused[20]; /* Reserved for future use. */
|
||||
};
|
||||
|
||||
/* Backwards compatibility hacks. */
|
||||
#define ut_name ut_user
|
||||
|
@ -40,8 +40,13 @@
|
||||
type is used in `struct utmpx' below. */
|
||||
struct __exit_status
|
||||
{
|
||||
#ifdef __USE_GNU
|
||||
short int e_termination; /* Process termination status. */
|
||||
short int e_exit; /* Process exit status. */
|
||||
#else
|
||||
short int __e_termination; /* Process termination status. */
|
||||
short int __e_exit; /* Process exit status. */
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user