Re: directory.exists occassionally locks up when checking network share
- From: "Keith Langer" <tanalbit@xxxxxxx>
- Date: 3 Sep 2006 07:33:40 -0700
Carl,
Do you think I would still get the lock up if I tried to retrieve the
directory info or file info instead of calling Exists? These calls
would normally throw an error if the directory doesn't exist.
Keith
Carl Daniel [VC++ MVP] wrote:
Keith Langer wrote:
Carl,
From what I've been told, the machines that have had the failure mayhave a different type of NIC than the machines that don't have the
failure. The call to this function can return successfully hundreds
or thousands of times before the call doesn't return at all. The OS
is identical on all machines. As to whether the NIC drivers are up to
date, I don't know. Shouldn't Windows be able to deal with even a bad
NIC driver by causing a timeout?
Unfortunately, no. Unless the driver correctly implements IO cancellation
and timeouts, there's nothing the IO manager in the OS can do to forcibly
stop it (only the driver can know the actions required to reliably cancel a
request).
Some more background on how this function is used: This application
will check for the server share every 30 seconds until it finds it.
It
also attempts to connect to the share with a secondary login since the
primary login has a password which conflicts with the server. Due to
a virus, the Server and Secondary logon services had failed on the
server, so the application would check for the share every 30 seconds
and never find it.
A few questions:
1) Any idea how I can force this situation to be reproduced?
No. From what you describe, I'd guess that there's a good chance that it's
a driver bug.
2) Do you think that if I call this method from a different thread
that
I'm going to still have problems? I'm guessing that the thread will
never be successfully aborted and the system performance will degrade
as a result.
I wouldn't expect it to make any difference at all.
3) Is there another way to check for the directory's existence while
avoiding the potential for a lockup?
Nothing comes to mind, sorry.
-cd
.
- Follow-Ups:
- Re: directory.exists occassionally locks up when checking network share
- From: Carl Daniel [VC++ MVP]
- Re: directory.exists occassionally locks up when checking network share
- References:
- directory.exists occassionally locks up when checking network share
- From: Keith Langer
- Re: directory.exists occassionally locks up when checking network share
- From: Ben Voigt
- Re: directory.exists occassionally locks up when checking network share
- From: Keith Langer
- Re: directory.exists occassionally locks up when checking network share
- From: Keith Langer
- Re: directory.exists occassionally locks up when checking network share
- From: Carl Daniel [VC++ MVP]
- Re: directory.exists occassionally locks up when checking network share
- From: Keith Langer
- Re: directory.exists occassionally locks up when checking network share
- From: Carl Daniel [VC++ MVP]
- directory.exists occassionally locks up when checking network share
- Prev by Date: Re: Two byte in one string?
- Next by Date: Re: directory.exists occassionally locks up when checking network share
- Previous by thread: Re: directory.exists occassionally locks up when checking network share
- Next by thread: Re: directory.exists occassionally locks up when checking network share
- Index(es):
Relevant Pages
|