9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Charles Forsyth <charles.forsyth@gmail.com>
To: Oleg <lego12239@yandex.ru>,
	Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] atexit() & atexitdont()
Date: Fri,  7 Nov 2014 08:19:05 +0000	[thread overview]
Message-ID: <CAOw7k5jWi-ViqbouHziixGP7QegGDSc5zC+OU8zvxV98PKWBQQ@mail.gmail.com> (raw)
In-Reply-To: <20141106210544.GA20298@localhost>

[-- Attachment #1: Type: text/plain, Size: 867 bytes --]

On 6 November 2014 21:05, Oleg <lego12239@yandex.ru> wrote:

> I looked at atexit() and atexitdont() and i don't understand why these
> functions are implemented with a static array instead of singly linked
> list?
> May be somebody with a greater plan9 experience can help me with my
> question.
>

It might have been to avoid malloc in a fairly low-level function (and of
something that will never be freed),
or just because it was easier and, frankly, atexit let alone atexitdont
aren't used that much. I'd be surprised if
any use of atexit alone relied on any particular order, which is why your
problem hasn't been noticed.
The reverse order makes sense and atexit already does that. It's atexitdont
that's wrong.
The functions are unlikely to be called from any hot-spot.
I'd just make atexitdont copy down the entries after the one deleted.

[-- Attachment #2: Type: text/html, Size: 1374 bytes --]

  parent reply	other threads:[~2014-11-07  8:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06 21:05 Oleg
2014-11-06 21:26 ` erik quanstrom
2014-11-06 21:42   ` Skip Tavakkolian
2014-11-06 21:44     ` Skip Tavakkolian
2014-11-06 22:50       ` lego12239
2014-11-06 22:45   ` Oleg
2014-11-07  7:17   ` k0ga
2014-11-07  8:02     ` Oleg
2014-11-07  8:19 ` Charles Forsyth [this message]
2014-11-07  9:44   ` Oleg
2014-11-07 10:22     ` Charles Forsyth
2014-11-07 11:05       ` Oleg
2014-11-07 10:57     ` Steffen Nurpmeso
2014-11-07 11:49       ` Charles Forsyth
2014-11-07 12:19         ` Oleg
2014-11-07 12:27           ` Charles Forsyth
2014-11-07 19:53             ` erik quanstrom
2014-11-07 20:30               ` Oleg
2014-11-07 19:25         ` Steffen Nurpmeso
2014-11-07 17:45 sl

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=CAOw7k5jWi-ViqbouHziixGP7QegGDSc5zC+OU8zvxV98PKWBQQ@mail.gmail.com \
    --to=charles.forsyth@gmail.com \
    --cc=9fans@9fans.net \
    --cc=lego12239@yandex.ru \
    /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 NNTP newsgroup(s).