[D-runtime] A mechanism to kill threads

Alex Rønne Petersen xtzgzorex at gmail.com
Wed May 16 14:39:00 PDT 2012


What do you mean? This might hold true if you're executing in a signal
handler, but if the code you execute after suspending/killing a bunch
of threads does not touch any state that the suspended/killed threads
owned/accessed, you'll be fine.

Regards,
Alex

On Wed, May 16, 2012 at 11:07 PM, Fawzi Mohamed <fawzi at gmx.ch> wrote:
> On Wed, 16 May 2012 20:57:15 +0200
> Alex Rønne Petersen <xtzgzorex at gmail.com> wrote:
>
>> Of course it's unsafe, but no less than arbitrarily suspending a
>> thread. Once you've suspended a thread, you may as well kill it.
>> You've effectively halted it anyway. We have lots of unsafe primitives
>> in core.thread already (and my critical regions and cooperative
>> suspension patches add even more!).
>>
>> Is there anything speaking against adding this to core.thread with a
>> big fat "THIS IS UNSAFE" warning?
>
> yes, suspending makes the code that is executed during the suspension
> "unsafe" (meaning that it can do only things that can be done in a
> signal handler).
> Killing makes all the rest of the program have such constraints...
>
> Fawzi
>>
>> Regards,
>> Alex
>>
>> On Wed, May 16, 2012 at 8:47 PM, Jonathan M Davis
>> <jmdavisProg at gmx.com> wrote:
>> > On Wednesday, May 16, 2012 19:04:48 Alex Rønne Petersen wrote:
>> >> Hi,
>> >>
>> >> In my virtual machine, I need to be able to kill daemon threads on
>> >> shutdown. The problem is that VM shutdown is *not* tightly coupled
>> >> to druntime shutdown; multiple VM instances can run in a process
>> >> at any given time, and can be started/stopped whenever. It doesn't
>> >> appear like there is any functionality in core.thread to achieve
>> >> this.
>> >>
>> >> Is there any reason we don't have a Thread.kill() function?
>> >
>> > Because it's incredibly unsafe? You may have a valid use case for
>> > it, but it's _not_ something that you should normally be doing.
>> >
>> > - Jonathan M Davis
>> > _______________________________________________
>> > D-runtime mailing list
>> > D-runtime at puremagic.com
>> > http://lists.puremagic.com/mailman/listinfo/d-runtime
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
>
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime


More information about the D-runtime mailing list