[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] Re: #446: Finalizers for top level bindings don't get
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit |
Date: |
Thu, 16 Dec 2010 16:48:18 -0000 |
#446: Finalizers for top level bindings don't get executed upon program exit
----------------------+-----------------------------------------------------
Reporter: syn | Owner:
Type: defect | Status: new
Priority: major | Milestone: 4.7.0
Component: unknown | Version: 4.6.x
Resolution: | Keywords:
----------------------+-----------------------------------------------------
Comment(by felix):
Replying to [comment:5 syn]:
> Okay, that makes sense then, thanks! I assumed indeed that all data is
considered garbage at program exit. I think this implies that programs
relying on finalizers to clean up (possibly remote) state should
additionally define an exit handler to be on the safe side then.
Yes, that would be possible.
> Just out of curiosity: Would changing the behavior to consider all
remaining top level bindings at program exit garbage and run their
finalizers mean a big change and would it potentially break a lot of code?
It would be a big change since all sorts of crap would start running once
the program terminates. Finalizers are icky. Finalizers give you the non-
determinism of threads but without the synchronization and should be
avoided unless absolutely necessary (strictly speaking, they should run in
a separate threads).
> Otherwise I'd suggest changing to this behavior and maybe add a command
line switch to disable it.
I probably sound like an asshole, but that is also a bad idea. :-) Making
behaviour like this depending on command-line- or configuration options
just make maintenance unnecessary hard. I suggest you give an example that
explains the motivation for what you seem to request.
--
Ticket URL: <http://bugs.call-cc.org/ticket/446#comment:7>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/09
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/09
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/10
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/10
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/11
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/11
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/11
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit,
Chicken Trac <=
- [Chicken-janitors] Re: #446: Finalizers for top level bindings don't get executed upon program exit, Chicken Trac, 2010/12/18