• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision034f6617a0ffefeab5dada14b7007e500bb097cf (tree)
Time2012-07-30 16:06:55
AuthorHiroaki Nakano <nakano.hiroaki@nttc...>
CommiterHiroaki Nakano

Log Message

ticket 29143 SSLハンドシェイクエラー対処

クライアント数12000のTPCWによるhttps通信負荷を30分かける試験をすると,
30回に1回の割合でcoreを吐くか、SSLハンドシェイクエラーとなって
以降の通信が出来なくなる。

対処として、非同期なSSLのhandshake処理を実行している時、
read_some(), write_some()が実行されないようにする。

Signed-off-by: Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp>

Change Summary

Incremental Difference

--- a/l7vsd/include/tcp_ssl_socket.h
+++ b/l7vsd/include/tcp_ssl_socket.h
@@ -131,7 +131,7 @@ public:
131131
132132 virtual std::size_t read_some(const boost::asio::mutable_buffers_1 &buffers, boost::system::error_code &error_code) {
133133 boost::mutex::scoped_lock lock(ssl_mutex);
134- if (write_con > 0) {
134+ if (write_con > 0 || handshake_con > 0) {
135135 error_code = boost::asio::error::try_again;
136136 return 0;
137137 }
@@ -150,7 +150,7 @@ public:
150150 virtual size_t write_some(const boost::asio::const_buffers_1 &buffer, boost::system::error_code &error_code) {
151151 boost::mutex::scoped_lock lock(ssl_mutex);
152152
153- if (read_con > 0) {
153+ if (read_con > 0 || handshake_con > 0) {
154154 error_code = boost::asio::error::try_again;
155155 return 0;
156156 }