* sysdeps/mach/i386/syscall.S (syscall): Call END.

This commit is contained in:
Roland McGrath 2005-05-29 22:12:28 +00:00
parent 52ee639b3a
commit 8074c5c597
3 changed files with 35 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2005-05-24 Thomas Schwinge <schwinge@nic-nac-project.de>
* sysdeps/mach/i386/syscall.S (syscall): Call END.
2005-05-28 Richard Henderson <rth@redhat.com> 2005-05-28 Richard Henderson <rth@redhat.com>
* elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New. * elf/elf.h (DT_ALPHA_PLTRO, DT_ALPHA_NUM): New.

View File

@ -1,3 +1,10 @@
2005-05-29 Richard Henderson <rth@redhat.com>
* tst-cancel4.c (WRITE_BUFFER_SIZE): New.
(tf_write, tf_writev): Use it.
(do_test): Use socketpair instead of pipe. Set SO_SNDBUF to
the system minimum.
2005-05-23 Jakub Jelinek <jakub@redhat.com> 2005-05-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h

View File

@ -84,6 +84,8 @@ static pthread_barrier_t b2;
# define IPC_ADDVAL 0 # define IPC_ADDVAL 0
#endif #endif
#define WRITE_BUFFER_SIZE 4096
/* Cleanup handling test. */ /* Cleanup handling test. */
static int cl_called; static int cl_called;
@ -220,7 +222,7 @@ tf_write (void *arg)
ssize_t s; ssize_t s;
pthread_cleanup_push (cl, NULL); pthread_cleanup_push (cl, NULL);
char buf[100000]; char buf[WRITE_BUFFER_SIZE];
memset (buf, '\0', sizeof (buf)); memset (buf, '\0', sizeof (buf));
s = write (fd, buf, sizeof (buf)); s = write (fd, buf, sizeof (buf));
@ -266,7 +268,7 @@ tf_writev (void *arg)
ssize_t s; ssize_t s;
pthread_cleanup_push (cl, NULL); pthread_cleanup_push (cl, NULL);
char buf[100000]; char buf[WRITE_BUFFER_SIZE];
memset (buf, '\0', sizeof (buf)); memset (buf, '\0', sizeof (buf));
struct iovec iov[1] = { [0] = { .iov_base = buf, .iov_len = sizeof (buf) } }; struct iovec iov[1] = { [0] = { .iov_base = buf, .iov_len = sizeof (buf) } };
s = writev (fd, iov, 1); s = writev (fd, iov, 1);
@ -2043,12 +2045,30 @@ static struct
static int static int
do_test (void) do_test (void)
{ {
if (pipe (fds) != 0) int val;
socklen_t len;
if (socketpair (AF_UNIX, SOCK_STREAM, PF_UNIX, fds) != 0)
{ {
puts ("pipe failed"); perror ("socketpair");
exit (1); exit (1);
} }
val = 1;
len = sizeof(val);
setsockopt (fds[1], SOL_SOCKET, SO_SNDBUF, &val, sizeof(val));
if (getsockopt (fds[1], SOL_SOCKET, SO_SNDBUF, &val, &len) < 0)
{
perror ("getsockopt");
exit (1);
}
if (val >= WRITE_BUFFER_SIZE)
{
puts ("minimum write buffer size too large");
exit (1);
}
setsockopt (fds[1], SOL_SOCKET, SO_SNDBUF, &val, sizeof(val));
int result = 0; int result = 0;
size_t cnt; size_t cnt;
for (cnt = 0; cnt < ntest_tf; ++cnt) for (cnt = 0; cnt < ntest_tf; ++cnt)