mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
improving safe upnp shutdown
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1771 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
b99b99f0d5
commit
3ab1b5bb3f
@ -697,32 +697,6 @@ bool CUPnPService::Execute(
|
||||
static_cast<Upnp_FunPtr>(&CUPnPControlPoint::Callback),
|
||||
NULL);
|
||||
return true;
|
||||
|
||||
// std::cerr << "Calling UpnpSendAction." << std::endl;
|
||||
// // Send the action synchronously
|
||||
// IXML_Document *RespDoc = NULL;
|
||||
// int ret = UpnpSendAction(
|
||||
// m_UPnPControlPoint.GetUPnPClientHandle(),
|
||||
// GetAbsControlURL().c_str(),
|
||||
// GetServiceType().c_str(),
|
||||
// NULL, ActionDoc, &RespDoc);
|
||||
// if (ret != UPNP_E_SUCCESS) {
|
||||
// m_upnpLib.processUPnPErrorMessage(
|
||||
// "UpnpSendAction", ret, NULL, RespDoc);
|
||||
// ixmlDocument_free(ActionDoc);
|
||||
// ixmlDocument_free(RespDoc);
|
||||
// return false;
|
||||
// }
|
||||
// ixmlDocument_free(ActionDoc);
|
||||
//
|
||||
// // Check the response document
|
||||
// m_upnpLib.ProcessActionResponse(
|
||||
// RespDoc, action.GetName());
|
||||
//
|
||||
// // Free the response document
|
||||
// ixmlDocument_free(RespDoc);
|
||||
//
|
||||
// return true;
|
||||
}
|
||||
|
||||
|
||||
@ -887,7 +861,7 @@ m_WanService(NULL)
|
||||
#ifdef UPNP_DEBUG
|
||||
std::cerr << "CUPnPControlPoint Constructor UpnpInit finished" << std::endl;
|
||||
#endif
|
||||
if (ret != UPNP_E_SUCCESS) {
|
||||
if (ret != UPNP_E_SUCCESS && ret !=UPNP_E_INIT) {
|
||||
std::cerr << "error(UpnpInit): Error code : ";
|
||||
goto error;
|
||||
}
|
||||
|
@ -191,11 +191,12 @@ bool upnphandler::shutdown_upnp()
|
||||
//stopping os ok, set starting to true for next net reset
|
||||
toStop = false;
|
||||
toStart = true;
|
||||
upnpState = RS_UPNP_S_UNINITIALISED;
|
||||
|
||||
/* always attempt this (unless no port number) */
|
||||
if (eport_curr > 0 && eport > 0)
|
||||
if (eport_curr > 0 && eport > 0 && (upnpState >= RS_UPNP_S_ACTIVE))
|
||||
{
|
||||
std::cerr << "Attempting To Remove Redirection: port: " << eport_curr;
|
||||
std::cerr << "upnphandler::shutdown_upnp() : Attempting To Remove Redirection: port: " << eport_curr;
|
||||
std::cerr << " Prot: TCP";
|
||||
std::cerr << std::endl;
|
||||
|
||||
@ -204,7 +205,7 @@ bool upnphandler::shutdown_upnp()
|
||||
upnpPortMapping1.push_back(cUPnPPortMapping1);
|
||||
cUPnPControlPoint->DeletePortMappings(upnpPortMapping1);
|
||||
|
||||
std::cerr << "Attempting To Remove Redirection: port: " << eport_curr;
|
||||
std::cerr << " : Attempting To Remove Redirection: port: " << eport_curr;
|
||||
std::cerr << " Prot: UDP";
|
||||
std::cerr << std::endl;
|
||||
|
||||
@ -216,6 +217,10 @@ bool upnphandler::shutdown_upnp()
|
||||
//destroy the upnp object
|
||||
cUPnPControlPoint->~CUPnPControlPoint();
|
||||
upnpState = RS_UPNP_S_UNINITIALISED;
|
||||
} else {
|
||||
#ifdef CONN_DEBUG
|
||||
std::cerr << "upnphandler::shutdown_upnp() : avoid upnp connection for shutdows A net flag went down." << std::endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user