aboutsummaryrefslogtreecommitdiff
path: root/nptl/tst-cancel4-common.h
AgeCommit message (Collapse)Author
2018-03-05nptl: Fix tst-cancel4 sendto testsAdhemerval Zanella
Now that send might be implemented calling sendto syscall on Linux, I am seeing some issue in some kernel configurations where tst-cancel4 sendto do not block as expected. The socket used to force the syscall blocking is used with default system configuration for buffer sending size, which might not be suffice to force blocking. This patch fixes it by explicit setting buffer socket lower than the buffer size used. It also enables sendto cancellation tests to work in both ways (since internally send is implemented routing to sendto on Linux kernel). The patch also removes unrequired make rules on some archictures for send/recv. The generic nptl Makefile already set the compiler flags required on some architectures for correct unwinding and libc object are not strictly required to support unwind (since pthread_cancel requires linking against libpthread). Checked on aarch64-linux-gnu and x86_64-linux-gnu. I also did a sniff test with tst-cancel{4,5} on a simulated mips64-linux-gnu. * nptl/tst-cancel4-common.h (set_socket_buffer): New function. * nptl/tst-cancel4-common.c (do_test): Call set_socket_buffer for socketpair endpoint. * nptl/tst-cancel4.c (tf_send): Call set_socket_buffer and use WRITE_BUFFER_SIZE as buffer size for sending socket. (tf_sendto): Use SOCK_STREAM instead of SOCK_DGRAM and fix an issue on system where send is implemented with sendto syscall. * sysdeps/unix/sysv/linux/mips/mips64/Makefile [$(subdir) = socket] (CFLAGS-recv.c, CFLAGS-send.c): Remove rules. [$(subdir) = nptl] (CFLAGS-recv.c, CFLAGS-send.c): Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/Makefile: Remove file.
2018-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2017-05-01nptl: Using libsupport for tst-cancel4*Adhemerval Zanella
Checked on x86_64-linux-gnu. * nptl/tst-cancel4-common.c: Use libsupport. * nptl/tst-cancel4-common.h: Likewise. * nptl/tst-cancel4.c (tf_read): Likewise. (tf_readv): Likewise. (tf_write): Likewise. (tf_writev): Likewise. (tf_sleep): Likewise. (tf_usleep): Likewise. (tf_nanosleep): Likewise. (tf_select): Likewise. (tf_pselect): Likewise. (tf_poll): Likewise. (tf_ppoll): Likewise. (tf_wait): Likewise. (tf_waitpid): Likewise. (tf_waitid): Likewise. (tf_sigpause): Likewise. (tf_sigsuspend): Likewise. (tf_sigwait): Likewise. (tf_sigwaitinfo): Likewise. (tf_sigtimedwait): Likewise. (tf_pause): Likewise. (tf_accept): Likewise. (tf_send): Likewise. (tf_recv): Likewise. (tf_recvfrom): Likewise. (tf_recvmsg): Likewise. (tf_open): Likewise. (tf_close): Likewise. (tf_pread): Likewise. (tf_pwrite): Likewise. (tf_preadv): Likewise. (tf_pwritev): Likewise. (tf_fsync): Likewise. (tf_fdatasync): Likewise. (tf_msync): Likewise. (tf_sendto): Likewise. (tf_sendmsg): Likewise. (tf_creat): Likewise. (tf_connect): Likewise. (tf_tcdrain): Likewise. (tf_msgrcv): Likewise. (tf_msgsnd): Likewise. * nptl/tst-cancel4_1.c (tf_sendmmsg): Likewise. * nptl/tst-cancel4_2.c (tf_recvmmsg): Likewise.
2017-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-07-05nptl: Add more coverage in tst-cancel4Adhemerval Zanella
This patch adds early cancel test for open syscall through a FIFO (thus makign subsequent call to open block until the other end is also opened). It also cleanup the sigpause tests by using sigpause along with SIGINT instead of __xpg_sigpause and SIGCANCEL. Since the idea is just to test the cancellation handling there is no need to expose internal glibc implementation details to the test through pthreadP.h inclusion. Tested x86_64. * nptl/tst-cancel4-common.c (do_test): Add temporary fifo creation. * nptl/tst-cancel4-common.h (fifoname): New variable. (fifofd): Likewise. (cl_fifo): New function. * nptl/tst-cancel4.c (tf_sigpause): Replace SIGCANCEL usage by SIGINT. (tf_open): Add early cancel test.
2016-06-13nptl: Add sendmmsg and recvmmsg cancellation testsAdhemerval Zanella
This patch adds cancellation tests for both sendmmsg and recvmmsg syscalls. Since for some system configuration (x86_64/i686 on older kernels and non-Linux platforms), the tests are added as two independent that report as unsupported if the syscall is not presented. Both new tests uses the already tst-cancel4.c code, which as moved to a common tst-cancel4-common{.c,h} files. Tested on x86_64 and i686. * nptl/Makefile (test): Add tst-cancel4_1 and tst-cancel4_2. * nptl/tst-cancel4-common.c: New file. * nptl/tst-cancel4-common.h: Likewise. * nptl/tst-cancel4.c: Move common definitions to tst-cancel4-common.{c,h} file. * nptl/tst-cancel4_1.c: New test. * nptl/tst-cancel4_2.c: New test.