1999-08-02  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nis_callback.c (internal_nis_do_callback) use poll()
	instead of select().

1999-08-02  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/s_nextafter.c: Define __nexttoward and
	nexttoward so something else so that aliasing works.

1999-08-02  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/generic/math_ldbl.h: Fix typo.
	* sysdeps/generic/strtold.c: Remove unbalanced #endif.
	* sysdeps/alpha/fpu/e_sqrt.c: Use new path for e_sqrt.c.

1999-08-02  Ulrich Drepper  <drepper@cygnus.com>

	* elf/resolvfail.c: Include stdio.h.  Also test dlerror.
This commit is contained in:
Ulrich Drepper 1999-08-02 19:56:07 +00:00
parent ff5fad1641
commit 249fd241a2
8 changed files with 56 additions and 28 deletions

View File

@ -1,3 +1,23 @@
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* nis/nis_callback.c (internal_nis_do_callback) use poll()
instead of select().
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/s_nextafter.c: Define __nexttoward and
nexttoward so something else so that aliasing works.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/generic/math_ldbl.h: Fix typo.
* sysdeps/generic/strtold.c: Remove unbalanced #endif.
* sysdeps/alpha/fpu/e_sqrt.c: Use new path for e_sqrt.c.
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* elf/resolvfail.c: Include stdio.h. Also test dlerror.
1999-08-01 Ulrich Drepper <drepper@cygnus.com> 1999-08-01 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (tests): Add resolvfail. Add rules to build the * elf/Makefile (tests): Add resolvfail. Add rules to build the

8
FAQ
View File

@ -1048,14 +1048,12 @@ files. You don't necessarily need to recompile the GNU C library since the
only place where OPEN_MAX and FD_SETSIZE is really needed in the library only place where OPEN_MAX and FD_SETSIZE is really needed in the library
itself is the size of fd_set which is used by select. itself is the size of fd_set which is used by select.
The GNU C library is now (nearly) select free. This means it internally has The GNU C library is now select free. This means it internally has no
no limits imposed by the `fd_set' type. Instead almost all places where the limits imposed by the `fd_set' type. Instead all places where the
functionality is needed the `poll' function is used. functionality is needed the `poll' function is used.
If you increase the number of file descriptors in the kernel you don't need If you increase the number of file descriptors in the kernel you don't need
to recompile the C library. The remaining select calls are in the RPC code. to recompile the C library.
If your RPC daemons don't need more than FD_SETSIZE file descriptors, you
don't need to change anything at all.
{UD} You can always get the maximum number of file descriptors a process is {UD} You can always get the maximum number of file descriptors a process is
allowed to have open at any time using allowed to have open at any time using

View File

@ -1,4 +1,5 @@
#include <dlfcn.h> #include <dlfcn.h>
#include <stdio.h>
static const char obj[] = "testobj1.so"; static const char obj[] = "testobj1.so";
@ -20,6 +21,11 @@ main (void)
puts ("dlsym() did not fail"); puts ("dlsym() did not fail");
return 1; return 1;
} }
else if (dlerror () == NULL)
{
puts ("dlerror() didn't return a string");
return 1;
}
return 0; return 0;
} }

View File

@ -1,6 +1,6 @@
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. /* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
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
modify it under the terms of the GNU Library General Public License as modify it under the terms of the GNU Library General Public License as
@ -27,6 +27,7 @@
#include <string.h> #include <string.h>
#include <memory.h> #include <memory.h>
#include <syslog.h> #include <syslog.h>
#include <sys/poll.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
@ -195,29 +196,29 @@ static nis_error
internal_nis_do_callback (struct dir_binding *bptr, netobj *cookie, internal_nis_do_callback (struct dir_binding *bptr, netobj *cookie,
struct nis_cb *cb) struct nis_cb *cb)
{ {
/* Default timeout can be changed using clnt_control() */ struct timeval TIMEOUT = {25, 0};
static struct timeval TIMEOUT = {25, 0};
#ifdef FD_SETSIZE
fd_set readfds;
#else
int readfds;
#endif /* def FD_SETSIZE */
struct timeval tv;
bool_t cb_is_running = FALSE; bool_t cb_is_running = FALSE;
data = cb; data = cb;
for (;;) for (;;)
{ {
#ifdef FD_SETSIZE struct pollfd *my_pollfd;
readfds = svc_fdset; int i;
#else
readfds = svc_fds; if (svc_max_pollfd == 0 && svc_pollfd == NULL)
#endif /* def FD_SETSIZE */ return NIS_CBERROR;
tv.tv_sec = 25;
tv.tv_usec = 0; my_pollfd = malloc (sizeof (struct pollfd) * svc_max_pollfd);
switch (select (_rpc_dtablesize (), &readfds, NULL, NULL, &tv)) for (i = 0; i < svc_max_pollfd; ++i)
{ {
my_pollfd[i].fd = svc_pollfd[i].fd;
my_pollfd[i].events = svc_pollfd[i].events;
my_pollfd[i].revents = 0;
}
switch (i = __poll (my_pollfd, svc_max_pollfd, 25*1000))
{
case -1: case -1:
if (errno == EINTR) if (errno == EINTR)
continue; continue;
@ -237,7 +238,7 @@ internal_nis_do_callback (struct dir_binding *bptr, netobj *cookie,
} }
break; break;
default: default:
svc_getreqset (&readfds); svc_getreq_poll (my_pollfd, i);
if (data->nomore) if (data->nomore)
return data->result; return data->result;
} }

View File

@ -162,4 +162,4 @@ static double __full_ieee754_sqrt(double) __attribute__((unused));
#endif /* _IEEE_FP_INEXACT */ #endif /* _IEEE_FP_INEXACT */
#include <sysdeps/libm-ieee754/e_sqrt.c> #include <sysdeps/ieee754/dbl-64/e_sqrt.c>

View File

@ -1,4 +1,4 @@
#ifndef _MATH_PRIVATE_H #ifndef _MATH_PRIVATE_H_
#error "Never use <math_ldbl.h> directly; include <math_private.h> instead." #error "Never use <math_ldbl.h> directly; include <math_private.h> instead."
#endif #endif

View File

@ -21,6 +21,10 @@ static char rcsid[] = "$NetBSD: s_nextafter.c,v 1.8 1995/05/10 20:47:58 jtc Exp
* Special cases: * Special cases:
*/ */
/* Ugly hack so that the aliasing works. */
#define __nexttoward __internal___nexttoward
#define nexttoward __internal_nexttoward
#include "math.h" #include "math.h"
#include "math_private.h" #include "math_private.h"

View File

@ -30,4 +30,3 @@ strtold (const char *nptr, char **endptr)
{ {
return __strtod_internal (nptr, endptr, 0); return __strtod_internal (nptr, endptr, 0);
} }
#endif