aboutsummaryrefslogtreecommitdiff
path: root/rt/tst-aio.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-14 16:51:08 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-14 16:51:08 +0000
commit310b3460e0740903996b838e9f9f5842c579cb0f (patch)
tree990ca922d3253d536fb71f3f70ac90467e5dc75e /rt/tst-aio.c
parentbbdc8261f84c22c8c82cc51fa84c70efb1b7ab99 (diff)
downloadglibc-310b3460e0740903996b838e9f9f5842c579cb0f.zip
glibc-310b3460e0740903996b838e9f9f5842c579cb0f.tar.gz
glibc-310b3460e0740903996b838e9f9f5842c579cb0f.tar.bz2
Update.
1998-04-14 16:34 Ulrich Drepper <drepper@cygnus.com> * test-skeleton.c: Provide hook for initializing code before the fork. * rt/tst-aio.c: Use PREPARE hook to make suer temp files are always removed. * libio/fcloseall.c (__fcloseall): Return return value of _IO_cleanup. * libio/genops.c (_IO_cleanup): Return return value of _IO_flush_all. * libio/libioP.h: Adopt _IO_cleanup prototype. * stdlib/Makefile (tests): Add test-canon2. * stdlib/test-canon2.c: New file. * stdlib/canonicalize.c (canonicalize): Allow RESOLVED parameter to be NULL. Use __lxstat, not __lstat. Correctly recognize long symlink sequences. (__realpath): Make real function which checks RESOLVED parameter for not being NULL. 1998-04-14 Ulrich Drepper <drepper@cygnus.com> * catgets/open_catalog.c (__open_catalog): Fix problems with reading non-files. Always close file. Reported by Cristian Gafton <gafton@redhat.com>. * elf/dl-minimal.c (__strtol_internal): Prevent overflow warnings. 1998-04-14 13:28 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add various low-level I/O functions. 1998-04-14 10:35 Ulrich Drepper <drepper@cygnus.com> * string/Makefile (routines): Remove strerror_r. * string/strerror_r.c: Removed. * string/strerror.c: Call __strerror_r for doing the real work. * sysdeps/generic/_strerror.c: Rename function to __strerror_r and add weak alias strerror_r. * sysdeps/mach/_strerror.c: Likewise. * assert/assert-perr.c: Use __strerror_r instead of _strerror_internal. * elf/dl-error.c (_dl_signal_error): Likewise. * elf/dl-profile.c (_dl_start_profile): Likewise. * gmon/gmon.c (write_gmon): Likewise. * stdio-common/perror.c: Likewise. * stdio-common/vfprintf.c: Likewise. 1998-04-10 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/unix/sysv/linux/Makefile [$(subdir)=inet] (sysdep_headers): Add netatalk/at.h. 1998-04-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/socket.texi, manual/creature.texi, manual/time.texi: Formatting fixes. 1998-04-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/regex.c: Rename __re_syntax_options back to re_syntax_options, aliases do not work with global variables due to copy relocations. (regex_compile): Use syntax parameter instead of re_syntax_options. 1998-04-14 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Document that enable-force-install is default.
Diffstat (limited to 'rt/tst-aio.c')
-rw-r--r--rt/tst-aio.c41
1 files changed, 26 insertions, 15 deletions
diff --git a/rt/tst-aio.c b/rt/tst-aio.c
index 83833ee..a6c0762 100644
--- a/rt/tst-aio.c
+++ b/rt/tst-aio.c
@@ -26,9 +26,12 @@
#include <sys/stat.h>
-/* prototype for our test function. */
+/* Prototype for our test function. */
+extern void do_prepare (int argc, char *argv[]);
extern int do_test (int argc, char *argv[]);
+/* We have a preparation function. */
+#define PREPARE do_prepare
/* We might need a bit longer timeout. */
#define TIMEOUT 20 /* sec */
@@ -37,6 +40,28 @@ extern int do_test (int argc, char *argv[]);
#include <test-skeleton.c>
+/* These are for the temporary file we generate. */
+char *name;
+int fd;
+
+void
+do_prepare (int argc, char *argv[])
+{
+ char name_len;
+
+ name_len = strlen (test_dir);
+ name = malloc (name_len + sizeof ("/aioXXXXXX"));
+ mempcpy (mempcpy (name, test_dir, name_len),
+ "/aioXXXXXX", sizeof ("/aioXXXXXX"));
+ add_temp_file (name);
+
+ /* Open our test file. */
+ fd = mkstemp (name);
+ if (fd == -1)
+ error (EXIT_FAILURE, errno, "cannot open test file `%s'", name);
+}
+
+
int
test_file (const void *buf, size_t size, int fd, const char *msg)
{
@@ -98,26 +123,12 @@ do_wait (struct aiocb **cbp, size_t nent)
int
do_test (int argc, char *argv[])
{
- char *name;
- char name_len;
struct aiocb cbs[10];
struct aiocb *cbp[10];
char buf[1000];
size_t cnt;
- int fd;
int result = 0;
- name_len = strlen (test_dir);
- name = malloc (name_len + sizeof ("/aioXXXXXX"));
- mempcpy (mempcpy (name, test_dir, name_len),
- "/aioXXXXXX", sizeof ("/aioXXXXXX"));
- add_temp_file (name);
-
- /* Open our test file. */
- fd = mkstemp (name);
- if (fd == -1)
- error (EXIT_FAILURE, errno, "cannot open test file `%s'", name);
-
/* Preparation. */
for (cnt = 0; cnt < 10; ++cnt)
{