Bug#537047: glibc-doc: pthread_cancel manpage has faulty/racy "workaround"
Package: glibc-doc
Version: 2.7-18
Severity: normal
The pthread_cancel manpage, under bugs, recommends the following code as a workaround
for syscalls not being cancellation points:
pthread_testcancel();
retcode = read(fd, buffer, length);
pthread_testcancel();
However, this code is inherently racy (when the signal arrives after the
first pthread_testcancel and before the read, the thread will simply hang
in read).
This should either be documented, or a really working workaround should be
given.
-- System Information:
Debian Release: 5.0
APT prefers stable
APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
glibc-doc depends on no packages.
glibc-doc recommends no packages.
Versions of packages glibc-doc suggests:
pn glibc-doc-reference <none> (no description available)
-- no debconf information
Reply to: