nptl: Fix testcases for new pthread cancellation mechanism
authorAdhemerval Zanella <adhemerval.zanella@linaro.com>
Mon, 21 Sep 2015 22:55:58 +0000 (15:55 -0700)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 3 Jan 2019 20:38:09 +0000 (18:38 -0200)
commitd0d7f85f66a19c3110d550c3c24247f7b4f2c58a
tree1e5707d171b1c6ca7c911e37c78d3b7bbc341dce
parent17cc27d5b7e74fe92db11caf989b941c1fd0d9f7
nptl: Fix testcases for new pthread cancellation mechanism

With upcoming fix for BZ#12683, pthread cancellation does not act for:

  1. If syscall is blocked but with some side effects already having
     taken place (e.g. a partial read or write).
  2. After the syscall has returned.

The main change is due the fact programs need to act in syscalls with
side-effects (for instance, to avoid leak of allocated resources or
handle partial read/write).

This patch changes the NPTL testcase that assumes the old behavior and
also changes the tst-backtrace{5,6} to ignore the cancellable wrappers.

Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
aarch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
powerpc-linux-gnu, sparcv9-linux-gnu, and sparc64-linux-gnu.

* debug/tst-backtrace5.c (handle_signal): Avoid cancellable wrappers
in backtrace analysis.
* nptl/tst-cancel4.c (tf_write): Handle cancelled syscall with
side-effects.
(tf_send): Likewise.
ChangeLog
debug/tst-backtrace5.c
nptl/tst-cancel4.c