mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
Update.
1998-04-11 09:33 Ulrich Drepper <drepper@cygnus.com> * Makeconfig (rtobjdir): New variable. (rpath-link): Add rtobjdir and thread directory, if available. * test-skeleton.c: Add support to remove temporary files. Always define test_dir. Improve message about expected signal. * rt/Makefile (tests): Add tst-aio. Add rules for tst-aio to be linked with librt and thread library. * rt/aio_misc.c: Correct fundamental bugs. * rt/aio_suspend.c: Correct bug in test for available request. Initialize conditional variable. * rt/lio_listio.c: Initialize conditional variable. * rt/lio_listio64.c: Likewise. * rt/tst-aio.c: New file. * sysdeps/libm-ieee754/s_signgam.c: Undo last change. * sysdeps/libm-ieee754/w_gamma.c: Likewise. Adopt for ISO C 9x. * sysdeps/libm-ieee754/w_gammaf.c: Likewise. * sysdeps/libm-ieee754/w_gammal.c: Likewise. * sysdeps/libm-ieee754/w_lgamma.c: Likewise. * sysdeps/libm-ieee754/w_lgammaf.c: Likewise. * sysdeps/libm-ieee754/w_lgammal.c: Likewise. 1998-04-11 14:49 Mark Kettenis <kettenis@landau.phys.uva.nl> * posix/regex.c [_LIBC] (__re_syntax_options): Initialize to 0. * elf/dl-load.c (open_path): Use correct name for test whether directory in load path exists. * sysdeps/libm-ieee754/s_expm1.c: Remove variable one. * sysdeps/libm-ieee754/e_pow.c: Fix typo. Patches by Tom Rini <trini@kernel.crashing.org>. * wcsmbs/wcstof_l.c: Declare ____wcstoull_l_internal. * wcsmbs/wcstod_l.c: Likewise. * wcsmbs/wcstold_l.c: Likewise.
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <getopt.h>
|
||||
#include <search.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -52,6 +53,39 @@ static int pid;
|
||||
/* Directory to place temporary files in. */
|
||||
static const char *test_dir;
|
||||
|
||||
/* List of temporary files. */
|
||||
struct name_list
|
||||
{
|
||||
struct qelem q;
|
||||
const char *name;
|
||||
} *name_list;
|
||||
|
||||
/* Add temporary files in list. */
|
||||
void
|
||||
add_temp_file (const char *name)
|
||||
{
|
||||
struct name_list *newp = (struct name_list *) calloc (sizeof (*newp), 1);
|
||||
if (newp != NULL)
|
||||
{
|
||||
newp->name = name;
|
||||
if (name_list == NULL)
|
||||
name_list = (struct name_list *) &newp->q;
|
||||
else
|
||||
insque (newp, name_list);
|
||||
}
|
||||
}
|
||||
|
||||
/* Delete all temporary files. */
|
||||
void
|
||||
delete_temp_files (void)
|
||||
{
|
||||
while (name_list != NULL)
|
||||
{
|
||||
remove (name_list->name);
|
||||
name_list = (struct name_list *) name_list->q.q_forw;
|
||||
}
|
||||
}
|
||||
|
||||
/* Timeout handler. We kill the child and exit with an error. */
|
||||
void
|
||||
timeout_handler (int sig __attribute__ ((unused)))
|
||||
@@ -114,11 +148,20 @@ main (int argc, char *argv[])
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
test_dir = getenv ("TMPDIR");
|
||||
if (test_dir == NULL || test_dir[0] == '\0')
|
||||
test_dir = "/tmp";
|
||||
}
|
||||
|
||||
/* If we are not expected to fork run the function immediately. */
|
||||
if (direct)
|
||||
return TEST_FUNCTION;
|
||||
|
||||
/* make sure temporary files are deleted. */
|
||||
atexit (delete_temp_files);
|
||||
|
||||
/* Set up the test environment:
|
||||
- prevent core dumps
|
||||
- set up the timer
|
||||
@@ -166,8 +209,12 @@ main (int argc, char *argv[])
|
||||
#endif
|
||||
if (WTERMSIG (status) != EXPECTED_SIGNAL)
|
||||
{
|
||||
fprintf (stderr, "Incorrect signal from child: got `%s', need `%s'\n",
|
||||
strsignal (WTERMSIG (status)), strsignal (EXPECTED_SIGNAL));
|
||||
if (EXPECTED_SIGNAL != 0)
|
||||
fprintf (stderr, "Incorrect signal from child: got `%s', need `%s'\n",
|
||||
strsignal (WTERMSIG (status)), strsignal (EXPECTED_SIGNAL));
|
||||
else
|
||||
fprintf (stderr, "Incorrect signal from child: got `%s'\n",
|
||||
strsignal (WTERMSIG (status)));
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user