This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: Determining cancellation points in glibc
- From: "Carlos O'Donell" <carlos at systemhalted dot org>
- To: mtk dot manpages at gmail dot com
- Cc: libc-help <libc-help at sourceware dot org>, "Loic Domaigne" <tech at domaigne dot com>
- Date: Mon, 24 Nov 2008 12:45:29 -0500
- Subject: Re: Determining cancellation points in glibc
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=X64lfG34yA5QOtW2kbU6KqXq3KNOKwGAhN4ZBEXgmBg=; b=YmHSY5f+K1Y+IVt6KlCe0IUSmDiKZFp7afmda4CnOoJrO/A/nBCT/hQNQN5qnpRDpo hwWU8mIxtQnGAn4Md5wl5IwmDI1HNNoNWu/XAmrFzuZeWCt6ZXW6iGKfZNc8/+xGlbRe 6QHuNN0arRmCGdIftnB00Gqhr0z6bQEOikugQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=m3EL48o0eLwwhE3ktdixnS1O8pYadoDz4qeoxUQeSToV2kXvItzGcReKkH7InaS0J/ UoXJF8dtYY6wnOTwuH0F5LqVYl20dHcQ2fEqW4GCVCxr2SGTRFfAIqyhj0ScPJms6vRb Vdv9inXc3Sqps1qNea3+R3mKjLmZkEfIzMgF8=
- References: <cfd18e0f0811240927u1424bbadxc4907ef15210794a@mail.gmail.com>
On Mon, Nov 24, 2008 at 12:27 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
> I'd very much like to document which glibc functions are cancellation
> points (pthread_cancel()). But, how does one determine this
> information from the glibc sources?
1. Find all syscalls.list for your machine.
2. Find all syscalls.list for generic.
3. Find all assembly implementations of functions for your machine.
4. Find all assembly implementations of functions for generic.
If #1 or #2 contains an entry with args that starts with "C" then
cancellation has been enabled for that function.
If #3 or #4 use sysdep-cancel.h macros then cancellation has been
enabled for that function.
If #3 or #4 make calls to *_enable_asynccancel and
*_disable_asynccancel then it is possible that these functions have
cancellation enabled.
Good luck!
Cheers,
Carlos.