[mapserver-commits] r10264 - branches/branch-5-6/mapserver

svn at osgeo.org svn at osgeo.org
Tue Jun 29 12:20:54 EDT 2010


Author: dmorissette
Date: 2010-06-29 16:20:53 +0000 (Tue, 29 Jun 2010)
New Revision: 10264

Modified:
   branches/branch-5-6/mapserver/HISTORY.TXT
   branches/branch-5-6/mapserver/mapwfslayer.c
Log:
Fixed possible race condition with connectiontype WFS layers (#3137)

Modified: branches/branch-5-6/mapserver/HISTORY.TXT
===================================================================
--- branches/branch-5-6/mapserver/HISTORY.TXT	2010-06-29 15:47:40 UTC (rev 10263)
+++ branches/branch-5-6/mapserver/HISTORY.TXT	2010-06-29 16:20:53 UTC (rev 10264)
@@ -15,22 +15,26 @@
 Version 5.6.4 (????-??-??):
 ---------------------------
 
-- Modified mapserver units enum order to fix some problems with external softwares (#3173)
+- Fixed possible race condition with connectiontype WFS layers (#3137)
 
+- Modified mapserver units enum order to fix some problems with external 
+  packages (#3173)
+
 - fix blending of transparent layers with AGG on MSB archs (#3471)
 
 - Fixed imageObj->saveImage() sends unnecessary headers (#3418) 
 
 - Correct PropertyName parsing for wfs post requests (#3235)
 
-- Ensure mapwmslayer.c does not unlink file before closing connection on it (#3451)
+- Ensure mapwmslayer.c does not unlink file before closing connection on 
+  it (#3451)
 
 - Fix security exception issue in C# with MSVC2010 (#3438)
 
 - Write out join CONNECTIONTYPE when saving a mapfile. (#3435)
 
-- Fixed attribute queries to use an extent stored (and cached) as part of the queryObj
-  rather than the map->extent. (#3424)
+- Fixed attribute queries to use an extent stored (and cached) as part of 
+  the queryObj rather than the map->extent. (#3424)
 
 - Reverted msLayerWhichItems() to 5.4-like behavior although still supporting 
   retrieving all items (#3356,#3342)

Modified: branches/branch-5-6/mapserver/mapwfslayer.c
===================================================================
--- branches/branch-5-6/mapserver/mapwfslayer.c	2010-06-29 15:47:40 UTC (rev 10263)
+++ branches/branch-5-6/mapserver/mapwfslayer.c	2010-06-29 16:20:53 UTC (rev 10264)
@@ -520,7 +520,6 @@
     int nTimeout;
     int nStatus = MS_SUCCESS;
     msWFSLayerInfo *psInfo = NULL;
-    char *pszHashFileName = NULL;
     int bPostRequest = 0;
     wfsParamsObj *psParams = NULL;
     char *pszHTTPCookieData = NULL;
@@ -652,23 +651,12 @@
     }
 
     /* We'll store the remote server's response to a tmp file. */
-    if (bPostRequest)
-    {
-        char *pszPostTmpName = NULL;
-        pszPostTmpName = (char *)malloc(sizeof(char)*(strlen(pszURL)+128));
-        sprintf(pszPostTmpName,"%s%ld%d",
-                pszURL, (long)time(NULL), (int)getpid());
-        pszHashFileName = msHashString(pszPostTmpName);
-        free(pszPostTmpName);
-    }
-    else
-      pszHashFileName = msHashString(pszURL);
-    pszURL = NULL;
-    
-    pasReqInfo[(*numRequests)].pszOutputFile =  
-        msOWSBuildURLFilename(map->web.imagepath, 
-                              pszHashFileName,".tmp.gml");
-    free(pszHashFileName);
+    pasReqInfo[(*numRequests)].pszOutputFile = msTmpFile(map->mappath, 
+                                                 map->web.imagepath, ".tmp.gml"); 
+    /* TODO: Implement Caching of GML responses. There was an older caching 
+     * method, but it suffered from a race condition. See #3137.
+     */ 
+
     pasReqInfo[(*numRequests)].pszHTTPCookieData = pszHTTPCookieData;
     pszHTTPCookieData = NULL;
     pasReqInfo[(*numRequests)].nStatus = 0;



More information about the mapserver-commits mailing list