[Pharo-project] Another finalization concern: error handling

Igor Stasenko siguctua at gmail.com
Mon Oct 11 13:02:23 EDT 2010


On 11 October 2010 19:28, Schwab,Wilhelm K <bschwab at anest.ufl.edu> wrote:
> Sig,
>
> The Dolphin approach is to restart any of the finalizer, main, timer, idler threads (I *think* there is one more in a baseline image) any time they quit; an #ensure: block forks a new thread of the type that terminated.  That way, whether they are taken down by an error doing what they are supposed to do or just by a stray #terminate or mistake with an attached debugger, the system rolls onward intact.
>

If it would be only about restarting, then its a piece of cake.
We should make sure that all finalizations detected prior to error,
did not get lost and are able to proceed as if nothing happens,
except a single one, which failed with error.

> Bill
>
>
> ________________________________________
> From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Igor Stasenko [siguctua at gmail.com]
> Sent: Monday, October 11, 2010 12:14 PM
> To: Pharo-project at lists.gforge.inria.fr; The general-purpose Squeak developers list
> Subject: Re: [Pharo-project] Another finalization concern: error handling
>
> Meanwhile, i'll try to implement two test cases for WeakRegistryTest.
>
> One, should cover following:
>
> coll := OrderedCollection new.
> obj := Object new.
> wrapper := WeakArray with: obj.
> coll add: wrapper.
>
> obj toFinalizeSend: #remove: to: coll with: wrapper.
> obj toFinalizeSend: #remove: to: coll with: wrapper.
> obj toFinalizeSend: #remove: to: coll with: wrapper.
> obj toFinalizeSend: #remove: to: coll with: wrapper.
>
> obj := nil.
> Smalltalk garbageCollect.
>
> i.e somehow, user should be notified that there is an error during finalization.
>
> And second test case is to make sure that if one finalizer unable to
> complete due to error,
> the other ones (and finalization process itself) should continue
> running, skipping over errorneous finalizer.
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-dev mailing list