[dmd-concurrency] Shutdown protocol

Sean Kelly sean at invisibleduck.org
Thu Jan 21 09:40:59 PST 2010


Exactly.  I would love having some way to designate a master thread,  
but I don't want it imposed on me.

Sent from my iPhone

On Jan 21, 2010, at 9:27 AM, Steve Schveighoffer <schveiguy at yahoo.com>  
wrote:

> ----- Original Message ----
>
>> From: Andrei Alexandrescu <andrei at erdani.com>
>> Steve Schveighoffer wrote:
>>> ----- Original Message ----
>>>
>>>> From: Andrei Alexandrescu
>>>>
>>>> "The function terminates any pending operations on the handle and  
>>>> discards
>> any outstanding data. If a thread is blocking a call to  
>> Wininet.dll, another
>> thread in the application can call InternetCloseHandle on the  
>> Internet handle
>> being used by the first thread to cancel the operation and unblock  
>> the first
>> thread."
>>>>
>>>> This is why you can close a browser instantly even though there  
>>>> may be a
>> dozen pages still waiting to load.
>>>
>>> I disagree.  A browser "closing instantly" just means its UI is  
>>> hidden.  Watch
>> the process in Task Manager, it lingers for quite a few seconds.
>>
>> The actual process shutdowns next to instantly on all my computers.  
>> I can say
>> I'm positive it does not use the method you are suggesting in your  
>> other message
>> (readWithShutdown).
>>
>
> I can't say what method it uses to shut down.  I don't see how you  
> can either unless you read the code.
>
> What I can say is I've seen Firefox linger and even hang when I shut  
> it down.  Often times I accidentally shut down firefox, and go to  
> reopen it in about 5 seconds, and it says it can't start because  
> there's already a process running and that process is shutting  
> down.  Clearly it does some sort of cleanup, whether part of that is  
> to wait for socket reads to time out, I'm not sure.
>
> My larger point, however, is that the socket-shutdown facility you  
> want to have is available to D applications.  But making it a  
> *required* part is too much.  Maybe applications that don't shut  
> down using this method don't make it on to your laptop, but that's  
> hardly a reason to require all D applications to do it.  You are not  
> the only user of D applications, and web browsing is not the only  
> use-case for threading and sockets.
>
> -Steve
>
>
>
>
> _______________________________________________
> dmd-concurrency mailing list
> dmd-concurrency at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-concurrency


More information about the dmd-concurrency mailing list