Chris Faherty wrote:
> I have found through experimentation that if you don't call NetLibClose()
> with true after a NetLibOpen() failure that you can end up in a
> quasi-connected state whereby you have to power-down the unit before trying
But in my case, NetLibOpen() never failed. I have quoted by NetLibOpen()
related code here. Please take a look at the else-part of the
first-level
if().
err = NetLibOpen(gP->net.netLibRefNum, &netIFErr);
if (err && (err != netErrAlreadyOpen))
{
switch ( err )
{
case netErrOutOfMemory:
// display error code here
err = nlErrOutOfMem;
break;
default:
// display error code here
err = nlErrNetSetup;
break;
}
}
else
{
/* NetLibOpen() succeeded. But the interface may not be up */
netIFUp = true;
if ( err == netErrAlreadyOpen )
err = NetLibConnectionRefresh (gP->net.netLibRefNum,
true, &netIFUp, &netIFErr);
if ( (netIFErr != 0 ) || (netIFUp != true) )
{
/* Interface didn't comeup. But....even though the interface
* didn't come up, library open succeeded. So we need to close
* the library.
*/
NetLibClose(gP->net.netLibRefNum, true);
// display error here
err = nlErrNetInit;
}
else
{
gP->net.openCount++;
err = nlSuccess;
}
}
> /* Chris Faherty <[EMAIL PROTECTED]>, finger for PGP */