public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
From: Ulrich Drepper <drepper@redhat.com>
To: GNU libc hacker <libc-hacker@sources.redhat.com>
Subject: cancellation support changes
Date: Sat, 19 Apr 2003 17:57:00 -0000	[thread overview]
Message-ID: <3EA18DD0.2060903@redhat.com> (raw)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've checked in a bunch of changes to support cancellation handling whic
interacts with C++.  This requires that we have unwind info which in
turn requires that functions which can cause (directly or indirectly)
cancellation to not be marked with throw().  The patches introduce a
minimal set of these changes.  There might be more changes necessary.

The next steps are big, too.  There are two problems remaining:

 - make sure that all code paths which can lead to cancellation points
   are compiled with unwind info; this means adding a lot of
   -fexceptions.  It should be done individually, not en gros.

 - functions which are in POSIX and not listed in the tables in section
   2.9.5.2 have to be written in a way which doesn't cause cancellation.
   I've thought about this a bit.  Using macros in include/unistd.h or
   so is too dangerous.  It's too easy to pick the wrong code since
   there is no easy way to control it.  So we better modify the sources.

   Note that before making the functions in libc itself cancelable we
   didn't have the problem.  Using __libc_open for instance meant that
   no cancellation could happen.  We'll have to go through the sources
   again and make those changes.

   One possible optimization which can be applied while doing this is
   what I started with the not-cancel.h files.  I haven't done much
   using them since I first want to get some feedback.

- -- 
- --------------.                        ,-.            444 Castro Street
Ulrich Drepper \    ,-----------------'   \ Mountain View, CA 94041 USA
Red Hat         `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+oY3V2ijCOnn/RHQRAtnkAKC3pOkfV1O7L14Z5BGxWjVU1fLhNACgpmng
bxbEO/lcMhOrg+ZZeK0x0H4=
=RemC
-----END PGP SIGNATURE-----

                 reply	other threads:[~2003-04-19 17:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EA18DD0.2060903@redhat.com \
    --to=drepper@redhat.com \
    --cc=libc-hacker@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).