aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorOren Hurvitz2013-12-19 14:08:46 +0200
committerJustin Clark-Casey (justincc)2014-01-31 00:44:22 +0000
commitb8e22f02e79e84d29e65a46751d68235f93aa8e8 (patch)
treee8b13e3f664cef71fc593e13e025bee95c985c86
parentMade error messages more consistent (diff)
downloadopensim-SC-b8e22f02e79e84d29e65a46751d68235f93aa8e8.zip
opensim-SC-b8e22f02e79e84d29e65a46751d68235f93aa8e8.tar.gz
opensim-SC-b8e22f02e79e84d29e65a46751d68235f93aa8e8.tar.bz2
opensim-SC-b8e22f02e79e84d29e65a46751d68235f93aa8e8.tar.xz
Make sure Web streams are disposed after use
-rw-r--r--OpenSim/Framework/WebUtil.cs6
-rw-r--r--OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs77
-rw-r--r--OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs7
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs2
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs2
-rw-r--r--OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs4
6 files changed, 45 insertions, 53 deletions
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs
index bcf6af8..54a6c0c 100644
--- a/OpenSim/Framework/WebUtil.cs
+++ b/OpenSim/Framework/WebUtil.cs
@@ -1030,7 +1030,7 @@ namespace OpenSim.Framework
1030 finally 1030 finally
1031 { 1031 {
1032 if (requestStream != null) 1032 if (requestStream != null)
1033 requestStream.Close(); 1033 requestStream.Dispose();
1034 1034
1035 // capture how much time was spent writing 1035 // capture how much time was spent writing
1036 tickdata = Util.EnvironmentTickCountSubtract(tickstart); 1036 tickdata = Util.EnvironmentTickCountSubtract(tickstart);
@@ -1183,7 +1183,7 @@ namespace OpenSim.Framework
1183 finally 1183 finally
1184 { 1184 {
1185 if (requestStream != null) 1185 if (requestStream != null)
1186 requestStream.Close(); 1186 requestStream.Dispose();
1187 1187
1188 // capture how much time was spent writing 1188 // capture how much time was spent writing
1189 tickdata = Util.EnvironmentTickCountSubtract(tickstart); 1189 tickdata = Util.EnvironmentTickCountSubtract(tickstart);
@@ -1268,4 +1268,4 @@ namespace OpenSim.Framework
1268 return deserial; 1268 return deserial;
1269 } 1269 }
1270 } 1270 }
1271} \ No newline at end of file 1271}
diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
index b21082f..9ae7452 100644
--- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
@@ -1290,9 +1290,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles
1290 webRequest.ContentType = "application/json-rpc"; 1290 webRequest.ContentType = "application/json-rpc";
1291 webRequest.Method = "POST"; 1291 webRequest.Method = "POST";
1292 1292
1293 Stream dataStream = webRequest.GetRequestStream(); 1293 using (Stream dataStream = webRequest.GetRequestStream())
1294 dataStream.Write(content, 0, content.Length); 1294 dataStream.Write(content, 0, content.Length);
1295 dataStream.Close();
1296 1295
1297 WebResponse webResponse = null; 1296 WebResponse webResponse = null;
1298 try 1297 try
@@ -1306,26 +1305,18 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles
1306 return false; 1305 return false;
1307 } 1306 }
1308 1307
1309 Stream rstream = webResponse.GetResponseStream(); 1308 using (webResponse)
1310 1309 using (Stream rstream = webResponse.GetResponseStream())
1311 OSDMap mret = new OSDMap();
1312 try
1313 {
1314 mret = (OSDMap)OSDParser.DeserializeJson(rstream);
1315 }
1316 catch (Exception e)
1317 { 1310 {
1318 m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message); 1311 OSDMap mret = (OSDMap)OSDParser.DeserializeJson(rstream);
1319 return false;
1320 }
1321 1312
1313 if (mret.ContainsKey("error"))
1314 return false;
1322 1315
1323 if (mret.ContainsKey("error")) 1316 // get params...
1324 return false; 1317 OSD.DeserializeMembers(ref parameters, (OSDMap)mret["result"]);
1325 1318 return true;
1326 // get params... 1319 }
1327 OSD.DeserializeMembers(ref parameters, (OSDMap) mret["result"]);
1328 return true;
1329 } 1320 }
1330 1321
1331 /// <summary> 1322 /// <summary>
@@ -1366,9 +1357,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles
1366 webRequest.ContentType = "application/json-rpc"; 1357 webRequest.ContentType = "application/json-rpc";
1367 webRequest.Method = "POST"; 1358 webRequest.Method = "POST";
1368 1359
1369 Stream dataStream = webRequest.GetRequestStream(); 1360 using (Stream dataStream = webRequest.GetRequestStream())
1370 dataStream.Write(content, 0, content.Length); 1361 dataStream.Write(content, 0, content.Length);
1371 dataStream.Close();
1372 1362
1373 WebResponse webResponse = null; 1363 WebResponse webResponse = null;
1374 try 1364 try
@@ -1382,29 +1372,32 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles
1382 return false; 1372 return false;
1383 } 1373 }
1384 1374
1385 Stream rstream = webResponse.GetResponseStream(); 1375 using (webResponse)
1386 1376 using (Stream rstream = webResponse.GetResponseStream())
1387 OSDMap response = new OSDMap();
1388 try
1389 {
1390 response = (OSDMap)OSDParser.DeserializeJson(rstream);
1391 }
1392 catch (Exception e)
1393 { 1377 {
1394 m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message); 1378 OSDMap response = new OSDMap();
1395 return false; 1379 try
1396 } 1380 {
1381 response = (OSDMap)OSDParser.DeserializeJson(rstream);
1382 }
1383 catch (Exception e)
1384 {
1385 m_log.DebugFormat("[PROFILES]: JsonRpcRequest Error {0} - remote user with legacy profiles?", e.Message);
1386 return false;
1387 }
1397 1388
1398 if(response.ContainsKey("error")) 1389 if (response.ContainsKey("error"))
1399 { 1390 {
1400 data = response["error"]; 1391 data = response["error"];
1401 return false; 1392 return false;
1402 } 1393 }
1403 1394
1404 data = response; 1395 data = response;
1405 1396
1406 return true; 1397 return true;
1398 }
1407 } 1399 }
1400
1408 #endregion Web Util 1401 #endregion Web Util
1409 } 1402 }
1410} \ No newline at end of file 1403}
diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
index c3a8afd..a7237ea 100644
--- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
+++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
@@ -488,9 +488,8 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
488 byte[] data = Util.UTF8.GetBytes(OutboundBody); 488 byte[] data = Util.UTF8.GetBytes(OutboundBody);
489 489
490 Request.ContentLength = data.Length; 490 Request.ContentLength = data.Length;
491 Stream bstream = Request.GetRequestStream(); 491 using (Stream bstream = Request.GetRequestStream())
492 bstream.Write(data, 0, data.Length); 492 bstream.Write(data, 0, data.Length);
493 bstream.Close();
494 } 493 }
495 494
496 try 495 try
@@ -584,4 +583,4 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
584 Request.Abort(); 583 Request.Abort();
585 } 584 }
586 } 585 }
587} \ No newline at end of file 586}
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
index cf2ef29..03e044b 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
@@ -915,7 +915,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
915 finally 915 finally
916 { 916 {
917 if (os != null) 917 if (os != null)
918 os.Close(); 918 os.Dispose();
919 } 919 }
920 920
921 string response_mapItems_reply = null; 921 string response_mapItems_reply = null;
diff --git a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs
index eb386fe..e10b9ad 100644
--- a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs
@@ -301,7 +301,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady
301 finally 301 finally
302 { 302 {
303 if (os != null) 303 if (os != null)
304 os.Close(); 304 os.Dispose();
305 } 305 }
306 } 306 }
307 } 307 }
diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
index 774fe2a..96a756d 100644
--- a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
+++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
@@ -162,7 +162,7 @@ namespace OpenSim.Services.Connectors
162 finally 162 finally
163 { 163 {
164 if (os != null) 164 if (os != null)
165 os.Close(); 165 os.Dispose();
166 } 166 }
167 167
168 // Let's wait for the response 168 // Let's wait for the response
@@ -202,4 +202,4 @@ namespace OpenSim.Services.Connectors
202 return true; 202 return true;
203 } 203 }
204 } 204 }
205} \ No newline at end of file 205}