myserver-commit
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]