Or option #2. Issue a warning for now and deprecated #fork. This will give people some time to fix their code.
----------------- Benoit St-Jean Yahoo! Messenger: bstjean Blogue: endormitoire.wordpress.com A standpoint is an intellectual horizon of radius zero. (Albert Einstein) >________________________________ > From: Igor Stasenko <siguc...@gmail.com> >To: Pharo Development <Pharo-project@lists.gforge.inria.fr> >Sent: Tuesday, April 23, 2013 7:58:26 PM >Subject: [Pharo-project] Processes, what are they doing? > > >Have you ever seen the list of processes running under your OS? >There's many, isn't? >The operating systems may be different, but i'd like to tell, what is >common between all of them: >- by looking at list of processes you have no idea what each of them >there for, nor what are they doing. > >For instance, my home windows machine has strange peaks of disk >activity (when it supposed to be idle, since it is not touched >more than a hour)... >now this is annoying that i cannot ask system in easy way, what is >going on and why such heavy disk activity is needed, >and disable such "very important feature".. >Today's systems grown too large and too clever, where user more and >more feels like a passenger (which request to stop the train can be >silently ignored), rather than driver of the train who can stop it at >any moment. > >Since i cannot tell, what each process doing on my machine.. i cannot >control them. >There's of course a solution: i should spend hours with google , read >docs & manuals >and in general, look for anywhere else, rather than simply ask a >process: what are you doing, what is your responsibility and who runs >you and why. > >Besides, if i cannot ask the process, my study of a system is more or >less just a waste of time, because even if i learn everything, >tomorrow it will be different OS version or different OS, where >everything will be completely different, and there we starting over >again: having a list of processes and no clue which is responsible for >what and do you need it or not. > >Sure thing, i am not proposing to change the world and fix today's >operating systems, but what i thought that at least in Pharo we have a >good >opportunity to fix that. > >I think it would be beneficial to establish a quality standard (or at >least make an attempt to move closer to it): >- each running process should have a description what its purpose and >who/what running it, as well as how to terminate it in non-abrupt way. > >In practice it means that one should not write: >[ ... ] fork > >but > >[ ... ] forkWithDescription: 'i doing this that and there' > >or even: > >[ ... ] forkWithDescription: 'i doing this that and there' >toTerminateDo: [.. block for graciously terminating this process >regardless in which state it currently is ] > >So, my question are you with me or not? :) >And how far? > >0 - keep things as they are >... >1 - deprecate all protocols which allow anonymous process creation, >and force developers to always put a description for every #fork in >their code. >(or simply refuse to #resume the process unless its description is not nil ;) > >There is already field in Process - name. But it is not enforced by >system that it should be never nil. I am not sure if we need both name >and description >or we need just one field (which will serve for both). What i am sure >about is that anonymous processes are BAD. > >-- >Best regards, >Igor Stasenko. > > > >