[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [2843] Use `RTLD_DEEPBIND' in the `dlopen' flags when
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [2843] Use `RTLD_DEEPBIND' in the `dlopen' flags when it is available. |
Date: |
Fri, 26 Sep 2008 23:47:28 +0000 |
Revision: 2843
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=2843
Author: gscrivano
Date: 2008-09-26 23:47:27 +0000 (Fri, 26 Sep 2008)
Log Message:
-----------
Use `RTLD_DEEPBIND' in the `dlopen' flags when it is available.
Modified Paths:
--------------
trunk/myserver/binaries/web/cgi-src/post/post.cpp
trunk/myserver/src/base/dynamic_lib/dynamiclib.cpp
trunk/myserver/src/server/server.cpp
Modified: trunk/myserver/binaries/web/cgi-src/post/post.cpp
===================================================================
--- trunk/myserver/binaries/web/cgi-src/post/post.cpp 2008-09-26 22:36:01 UTC
(rev 2842)
+++ trunk/myserver/binaries/web/cgi-src/post/post.cpp 2008-09-26 23:47:27 UTC
(rev 2843)
@@ -6,7 +6,7 @@
extern "C" int myserver_main (char *cmd,MsCgiData* data)
#endif
{
- MscgiManager cm(data);
+ MscgiManager cm(data);
if(strlen(cmd)==0)
{
cm.write("<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\r\n\
Modified: trunk/myserver/src/base/dynamic_lib/dynamiclib.cpp
===================================================================
--- trunk/myserver/src/base/dynamic_lib/dynamiclib.cpp 2008-09-26 22:36:01 UTC
(rev 2842)
+++ trunk/myserver/src/base/dynamic_lib/dynamiclib.cpp 2008-09-26 23:47:27 UTC
(rev 2843)
@@ -45,11 +45,18 @@
handle = LoadLibrary(filename);
#endif
#ifdef HAVE_DL
+ int flag = 0;
if(globally)
- handle = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
+ flag = RTLD_NOW | RTLD_GLOBAL;
else
- handle = dlopen(filename, RTLD_LAZY);
+ flag = RTLD_LOCAL | RTLD_LAZY;
+
+#ifdef RTLD_DEEPBIND
+ flag |= RTLD_DEEPBIND;
#endif
+
+ handle = dlopen(filename, flag);
+#endif
return handle ? 0 : 1;
}
Modified: trunk/myserver/src/server/server.cpp
===================================================================
--- trunk/myserver/src/server/server.cpp 2008-09-26 22:36:01 UTC (rev
2842)
+++ trunk/myserver/src/server/server.cpp 2008-09-26 23:47:27 UTC (rev
2843)
@@ -212,6 +212,8 @@
inputF.close();
outputF.close();
+
+ return 0;
}
@@ -247,7 +249,39 @@
*/
Server::~Server()
{
+ if(languagesPath)
+ delete languagesPath;
+ languagesPath = 0;
+ if(languageFile)
+ delete languageFile;
+ languageFile = 0;
+ if(vhostList)
+ delete vhostList;
+
+ if(serverAdmin)
+ delete serverAdmin;
+ serverAdmin = 0;
+
+ delete vhostConfigurationFile;
+ vhostConfigurationFile = 0;
+
+ delete mainConfigurationFile;
+ mainConfigurationFile = 0;
+
+ delete mimeConfigurationFile;
+ mimeConfigurationFile = 0;
+
+ if(externalPath)
+ delete externalPath;
+ externalPath = 0;
+
+ if(path)
+ delete path;
+ path = 0;
+
+ if(ipAddresses)
+ delete ipAddresses;
}
/*!
@@ -261,8 +295,6 @@
int ret;
ostringstream nCPU;
string strCPU;
- u_long nbr, nbw;
- char* data;
#ifdef WIN32
DWORD eventsCount, cNumRead;
INPUT_RECORD irInBuf[128];
@@ -894,40 +926,6 @@
/* Restore the blocking status in case of a reboot. */
Socket::stopBlockingOperations(false);
- if(languagesPath)
- delete languagesPath;
- languagesPath = 0;
-
- if(languageFile)
- delete languageFile;
- languageFile = 0;
- if(vhostList)
- delete vhostList;
-
- if(serverAdmin)
- delete serverAdmin;
- serverAdmin = 0;
-
- delete vhostConfigurationFile;
- vhostConfigurationFile = 0;
-
- delete mainConfigurationFile;
- mainConfigurationFile = 0;
-
- delete mimeConfigurationFile;
- mimeConfigurationFile = 0;
-
- if(externalPath)
- delete externalPath;
- externalPath = 0;
-
- if(path)
- delete path;
- path = 0;
-
- if(ipAddresses)
- delete ipAddresses;
-
ipAddresses = 0;
vhostList = 0;
languageParser.close();
@@ -989,10 +987,6 @@
int Server::initialize()
{
char *data;
- int ret;
- char buffer[512];
- u_long nbr;
- u_long nbw;
#ifdef WIN32
envString = GetEnvironmentStrings();
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [2843] Use `RTLD_DEEPBIND' in the `dlopen' flags when it is available.,
Giuseppe Scrivano <=