From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 7 Nov 2014 00:05:44 +0300 From: Oleg To: 9fans@9fans.net Message-ID: <20141106210544.GA20298@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Subject: [9fans] atexit() & atexitdont() Topicbox-Message-UUID: 244fb9f0-ead9-11e9-9d60-3106f5b1d025 Hi, all. 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. If i do: #include #include void f1(void) { print("f1\n"); } void f2(void) { print("f2\n"); } void main(int, char**) { atexit(f1); atexit(f2); atexit(f1); atexitdont(f2); atexit(f2); exits(nil); } i get: f1 f2 f1 instead of: f1 f1 f2 because of atexit.c source code. Thanks.