From: Joseph Morrow Date: Tue, 3 Nov 2015 18:39:27 +0000 (-0800) Subject: [PLUGIN-INTERFACE] Delete resources when a request has failed. X-Git-Tag: 1.2.0+RC1~853 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e68f6e757f8557c436cfd968086579a1c292d1f;p=platform%2Fupstream%2Fiotivity.git [PLUGIN-INTERFACE] Delete resources when a request has failed. This will allow for the Plugin-Interface module to delete resources which are no longer properly mapped. Change-Id: I7a3f0022b49aa6ebdae016b7f416df2ced0952d7 Signed-off-by: Joseph Morrow Signed-off-by: Thuyen Tran Reviewed-on: https://gerrit.iotivity.org/gerrit/3791 Tested-by: jenkins-iotivity Reviewed-by: Jon A. Cruz --- diff --git a/plugins/src/plugininterface.c b/plugins/src/plugininterface.c index 29ce028..d617a87 100644 --- a/plugins/src/plugininterface.c +++ b/plugins/src/plugininterface.c @@ -95,6 +95,15 @@ OCEntityHandlerResult PluginInterfaceEntityHandler(OCEntityHandlerFlag flag, else { OC_LOG_V(ERROR, TAG, "Error handling request %u", ehResult); + PIResource * piResource = NULL; + result = GetResourceFromHandle(plugin, &piResource, response->resourceHandle); + OC_LOG_V(ERROR, TAG, "Deleting resource \"%s\" because of failed request.", piResource->uri); + result = DeleteResource(plugin, piResource); + if(result != OC_STACK_OK) + { + OC_LOG_V(ERROR, TAG, "Failed to delete resource after failed request."); + ehResult = OC_EH_ERROR; + } } OCPayloadDestroy(response->payload);