Am Sonntag, den 10.08.2008, 10:38 -0400 schrieb John Cowan:
> > a more relevant comparison (and answer) might be 'why don't we get
> > rid of 'kill -9'?'
...
> (except by debuggers that need to freeze threads so
> it can inspect their contents, something Scheme doesn't support):

That's what I think: there are - albeit few - situations, where forceful
termination of threads is just what the doctor ordered.

And why should a Scheme system not allow to debug it's threads?

> Because there are very few shared resources between processes, and
> the kernel knows how to clean them up (with the exception of terminal
> settings).

As long as - for instance - one does not mmap(, , ,MAP_SHARED, ,) a file
full of resources.  This argument does not take very far.

> Threads, by contrast, in principle share everything, and nobody knows
> how to clean up.

I'm taking a slightly different point of view: process systems as well
as thread systems define a few resources, which are handled consistent.
Other resources may become damaged if not handled properly.

Forceful termination has it's uses, no matter how dangerous it might be
under certain circumstances.

[Example, taking the source I'm just porting: there are two uses of
forceful termination.  a) Stop a thread waiting for i/o - this one could
be done better in chicken.  b) Terminate typically extremely short but
potentially long running untrusted code.  This code is pure/side effect
free - *because* it might get terminated by brute force; so all
arguments about damaged data are void in this context.]


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to