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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |