diff -r 23b59305592d -r 4214adf9e0d3 tcpiputils/dhcp/src/DHCPStateMachine.cpp --- a/tcpiputils/dhcp/src/DHCPStateMachine.cpp Tue May 25 14:22:18 2010 +0300 +++ b/tcpiputils/dhcp/src/DHCPStateMachine.cpp Wed Jun 09 11:23:04 2010 +0300 @@ -420,10 +420,29 @@ // how could we attempt to handle it anyway?...keep trying??? i think not... // ensure that we have a socket to write down iSocket.Close(); - (void)iSocket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection); - (void)iSocket.SetOpt(KSoInetConfigInterface, KSolInetIfCtrl, configInfo); - // make socket invisible for interface counting - (void)iSocket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0); + TInt error = iSocket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection); + + if(error == KErrNone) + { + error = iSocket.SetOpt(KSoInetConfigInterface, KSolInetIfCtrl, configInfo); + if(error == KErrNone) + { + // make socket invisible for interface counting + error = iSocket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0); + if(error != KErrNone) + { + __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress, SetOpt Failed to set KSolInetIp"))); + } + } + else + { + __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress,SetOpt Failed to set KsolInetIfCtrl"))); + } + } + else + { + __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress,Socket Open Failed: Due to KErrNotReady "))); + } } void CDHCPStateMachine::ConfigureInterfaceL( const TSoInet6InterfaceInfo& aInterfaceInfo )