chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]