[squeak-dev] Re: IMO IllegalResumeAttempt should be resumable

Eliot Miranda eliot.miranda at gmail.com
Sat Jan 22 22:07:39 UTC 2011


Belay that.  Apologies for the noise.  resumeUnchecked: is of course the
right solution.  e.g.

Array streamContents:
[:s|
[Cogit chooseCogitClass testPCMappingSelect: [:m| true]]
on: AssertionFailure, Error
do: [:ex| | ctxt |
ctxt := ex signalerContext findContextSuchThat:
[:ctx| ctx sender selector = #allSelect:]. "testPCMappingSelect uses
allSelect: to enumerate so return to allSelect: to continue"
s nextPut: (ctxt tempAt: 1).
Transcript ensureCr; cr; print: (ctxt tempAt: 1); cr; flush.
ex searchFrom: ctxt.
ex resumeUnchecked: false]]

On Sat, Jan 22, 2011 at 1:50 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

> Hi All,
>
>     an attempt to resume an unresumable signal results in
> raising IllegalResumeAttempt; quite right:
>
> Exception>>resume
> "Return from the message that signaled the receiver."
>
> self resume: self defaultResumeValue
>
>
> However, IllegalResumeAttempt is not itself resumable.  So in those rare
> cases (e.g. test coverage) where a knowledgeable client wants to force
> resumption of a non-resumable signal by catching and resuming
> IllegalResumeAttempt, they can't because
>
> IllegalResumeAttempt>>isResumable
>  ^ false
>
>
> So take e.g.
>
> [Cogit chooseCogitClass testPCMappingSelect: [:m| true]]
> on: AssertionFailure
>  do: [:ex| | ctxt |
> ctxt := ex signalerContext findContextSuchThat:
> [:ctx| ctx sender selector = #allSelect:].
>  Transcript ensureCr; print: (ctxt tempAt: 1); flush.
> [ex resume]
> on: IllegalResumeAttempt
>  do: [:ex| ex resume]]
>
> where I'm trying to JIT every method in my image and catalogue those that
> assert-fail, proceeding through the assert failure (and AssertionFailure
> isn't resumable).  I happen to know that proceeding from the assert-fails is
> safe.  But I can't force resumption because IllegalResumeAttempt is itself
> not resumable.
>
> I propose that we make IllegalResumeAttempt resumable.  Objections?
>  Cautions?
>
> best
> Eliot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20110122/bdf164f1/attachment.htm


More information about the Squeak-dev mailing list