+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>
* elf/Makefile (tests): Add resolvfail. Add rules to build the
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.
-The GNU C library is now (nearly) select free. This means it internally has
-no limits imposed by the `fd_set' type. Instead almost all places where the
+The GNU C library is now select free. This means it internally has no
+limits imposed by the `fd_set' type. Instead all places where the
functionality is needed the `poll' function is used.
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.
-If your RPC daemons don't need more than FD_SETSIZE file descriptors, you
-don't need to change anything at all.
+to recompile the C library.
{UD} You can always get the maximum number of file descriptors a process is
allowed to have open at any time using
#include <dlfcn.h>
+#include <stdio.h>
static const char obj[] = "testobj1.so";
puts ("dlsym() did not fail");
return 1;
}
+ else if (dlerror () == NULL)
+ {
+ puts ("dlerror() didn't return a string");
+ return 1;
+ }
return 0;
}
-/* 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.
- 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
modify it under the terms of the GNU Library General Public License as
#include <string.h>
#include <memory.h>
#include <syslog.h>
+#include <sys/poll.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
internal_nis_do_callback (struct dir_binding *bptr, netobj *cookie,
struct nis_cb *cb)
{
- /* Default timeout can be changed using clnt_control() */
- static struct timeval TIMEOUT = {25, 0};
-#ifdef FD_SETSIZE
- fd_set readfds;
-#else
- int readfds;
-#endif /* def FD_SETSIZE */
- struct timeval tv;
+ struct timeval TIMEOUT = {25, 0};
bool_t cb_is_running = FALSE;
data = cb;
for (;;)
{
-#ifdef FD_SETSIZE
- readfds = svc_fdset;
-#else
- readfds = svc_fds;
-#endif /* def FD_SETSIZE */
- tv.tv_sec = 25;
- tv.tv_usec = 0;
- switch (select (_rpc_dtablesize (), &readfds, NULL, NULL, &tv))
- {
+ struct pollfd *my_pollfd;
+ int i;
+
+ if (svc_max_pollfd == 0 && svc_pollfd == NULL)
+ return NIS_CBERROR;
+
+ my_pollfd = malloc (sizeof (struct pollfd) * svc_max_pollfd);
+ 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:
if (errno == EINTR)
continue;
}
break;
default:
- svc_getreqset (&readfds);
+ svc_getreq_poll (my_pollfd, i);
if (data->nomore)
return data->result;
}
#endif /* _IEEE_FP_INEXACT */
-#include <sysdeps/libm-ieee754/e_sqrt.c>
+#include <sysdeps/ieee754/dbl-64/e_sqrt.c>
-#ifndef _MATH_PRIVATE_H
+#ifndef _MATH_PRIVATE_H_
#error "Never use <math_ldbl.h> directly; include <math_private.h> instead."
#endif
* Special cases:
*/
+/* Ugly hack so that the aliasing works. */
+#define __nexttoward __internal___nexttoward
+#define nexttoward __internal_nexttoward
+
#include "math.h"
#include "math_private.h"
{
return __strtod_internal (nptr, endptr, 0);
}
-#endif