Re: Issue 3967 in pharo: Announcement enhancement

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #3 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

The code needs to be reviewed.


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo
Updates:
        Cc: [hidden email]

Comment #4 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

igor can you have a look at this code?


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #5 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

yes. i will


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo
Updates:
        Status: ReviewNeeded

Comment #6 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

(No comment was entered for this change.)


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #7 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

CurtailAnnouncements.1.cs is cool. Nice trick.
But the other one:
deliver: anAnnouncement

        ^ (self handles: anAnnouncement class ) ifTrue: [
                [action cull: anAnnouncement cull: announcer]
                        on: Error
                        do: [:err |
                                announcer removeSubscription: self.
                                [[action cull: anAnnouncement cull: announcer]
                                         ensure: [announcer basicSubscribe: self]] fork.
                                "Yield immediately, so we at least get the same error if there's  
trouble in announcement granularity"
                                Processor yield.
                                err resume]]

it only works for errors which are resumable.
what i think we could do here is to unsubscribe and split the stack,  
starting from thisContext
and put that stack into forked process, while error handler could simply  
answer self as if nothing happens.
And of course, sending action cull:cull: second time in forked process have  
no any guarantees that it will be able to reproduce an original error.



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo
Updates:
        Blockedon: 4256

Comment #8 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

Okay, in the attachment the reviewed code.

For delivery, we're using our new secret weapon: #on:fork:
Now it is ready to be integrated.

The curtail part is same as proposed by Henrik, but maybe it is not  
necessary now, because all exceptions will be trapped anyways.

Attachments:
        announcements-on-fork.1.cs  1.1 KB
        CurtailAnnouncements.1.cs  726 bytes


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #9 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

Well, only if the handling somehow terminates the process doing delivery:

sema := Semaphore new.
proc := [[sema wait.
        Transcript show: 'Finished normally!']
                ifCurtailed: [Transcript show: 'Finished abnormally!']]
                        newProcess.
proc resume.

"Normal"
sema signal
"Curtailed"
proc terminate

on:fork: only protects vs errors :)



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #10 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

Abit more equivalent/better example code:

sema := Semaphore new.
proc := [[[sema wait.
        Notification signal: 'Not your day today!'.
        Transcript show: 'Finished normally!']
                on: Exception
                do: [:err | Transcript show: err messageText.
                                err resume]]
                        ifCurtailed: [Transcript show: 'Finished abnormally!']]
                        newProcess.
proc resume.

"Error handled"
sema signal
"Really curtailed"
proc terminate


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo

Comment #11 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

yes. that's makes the delivery code to be rock solid and never break even  
under crazy situations, like terminating process :)


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo
Updates:
        Status: Closed

Comment #12 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967

in 13212


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3967 in pharo: Announcement enhancement

pharo
Updates:
        Labels: MigratedToFogBugz
        Blockedon: -pharo:4256 pharo:4256

Comment #13 on issue 3967 by [hidden email]: Announcement enhancement
http://code.google.com/p/pharo/issues/detail?id=3967#c13

Issue migrated to https://pharo.fogbugz.com/f/cases/4014

--
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker