OSDN Git Service

チケット #27222 の修正
authorMichiro HIBARI <hibari@users.sourceforge.jp>
Mon, 23 Jan 2012 09:12:09 +0000 (18:12 +0900)
committerMichiro HIBARI <hibari@users.sourceforge.jp>
Mon, 23 Jan 2012 09:17:59 +0000 (18:17 +0900)
http://sourceforge.jp/ticket/browse.php?group_id=1951&tid=27222

l7vsd/include/tcp_ssl_socket.h
l7vsd/module/protocol/protocol_module_ip.cpp
l7vsd/module/protocol/protocol_module_sessionless.cpp
l7vsd/module/protocol/protocol_module_sslid.cpp

index 5bed949..976fc46 100644 (file)
@@ -105,13 +105,6 @@ public:
         virtual bool close(boost::system::error_code   &error_code) {
                 boost::mutex::scoped_lock       lock(ssl_mutex);
                 if (my_socket->lowest_layer().is_open()) {
-                        my_socket->lowest_layer().shutdown(boost::asio::ip::tcp::socket::shutdown_both, error_code);
-                        if (unlikely(error_code)) {
-                                boost::format   fmt("Thread ID[%d] ssl_socket lowest_layer shutdown fail: %s");
-                                fmt % boost::this_thread::get_id() % error_code.message();
-                                Logger::putLogInfo(LOG_CAT_L7VSD_SESSION, 999, fmt.str(), __FILE__, __LINE__);
-                        }
-
                         my_socket->lowest_layer().close(error_code);
                         if (error_code) {
                                 boost::format   fmt("Thread ID[%d] ssl_socket lowest_layer close fail: %s");
index 76b3a5d..6e5f572 100644 (file)
@@ -2088,7 +2088,7 @@ protocol_module_base::EVENT_TAG protocol_module_ip::handle_realserver_select(
                                 //reschedule is off
                                 else {
                                         //set return status
-                                        status = CLIENT_DISCONNECT;
+                                        status = FINALIZE;
                                 }
                         }
                 }
@@ -3112,7 +3112,7 @@ protocol_module_base::EVENT_TAG protocol_module_ip::handle_sorryserver_connectio
                 session_data_ptr = session_thread_it->second;
 
                 //set return status
-                status = CLIENT_DISCONNECT;
+                status = FINALIZE;
 
                 //set last status
                 session_data_ptr->last_status = status;
index 103d18b..d042afb 100644 (file)
@@ -3868,7 +3868,7 @@ protocol_module_base::EVENT_TAG protocol_module_sessionless::handle_sorryserver_
                 }
                 /*------DEBUG LOG END------*/
 
-                status = CLIENT_DISCONNECT;
+                status = FINALIZE;
         } catch (int e) {
                 /*-------- DEBUG LOG --------*/
                 if (unlikely(LOG_LV_DEBUG == getloglevel())) {
index ce3fa9e..451a65a 100644 (file)
@@ -1674,7 +1674,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                                                         // no reschedule mode
                                                         // set end_flag ON and disconnect the client
                                                         threaddata->end_flag = END_FLAG_ON;
-                                                        status = CLIENT_DISCONNECT;
+                                                        status = FINALIZE;
                                                         /*-------- DEBUG LOG --------*/
                                                         if (unlikely(LOG_LV_DEBUG == getloglevel())) {
                                                                 boost::format formatter("function : protocol_module_base::EVENT_TAG "
@@ -1749,7 +1749,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_realserver_select(
                                                         // no reschedule mode
                                                         // set end_flag ON and disconnect the client
                                                         threaddata->end_flag = END_FLAG_ON;
-                                                        status = CLIENT_DISCONNECT;
+                                                        status = FINALIZE;
                                                         /*-------- DEBUG LOG --------*/
                                                         if (unlikely(LOG_LV_DEBUG == getloglevel())) {
                                                                 boost::format formatter("function : protocol_module_base::EVENT_TAG "
@@ -2340,7 +2340,7 @@ protocol_module_base::EVENT_TAG protocol_module_sslid::handle_sorryserver_connec
 
                 // set end_flag ON
                 threaddata->end_flag = END_FLAG_ON;
-                status = CLIENT_DISCONNECT;
+                status = FINALIZE;
 
                 /*-------- DEBUG LOG --------*/
                 if (unlikely(LOG_LV_DEBUG == getloglevel())) {