projects
/
yazproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
The pre-init stage honors max-sockets as well.
[yazproxy-moved-to-github.git]
/
src
/
yaz-proxy.cpp
diff --git
a/src/yaz-proxy.cpp
b/src/yaz-proxy.cpp
index
147d066
..
eb7ce68
100644
(file)
--- a/
src/yaz-proxy.cpp
+++ b/
src/yaz-proxy.cpp
@@
-3539,6
+3539,7
@@
void Yaz_Proxy::pre_init()
const char *zurl_in_use[MAX_ZURL_PLEX];
int limit_bw, limit_pdu, limit_req, limit_search;
int target_idletime, client_idletime;
const char *zurl_in_use[MAX_ZURL_PLEX];
int limit_bw, limit_pdu, limit_req, limit_search;
int target_idletime, client_idletime;
+ int max_sockets;
int max_clients;
int keepalive_limit_bw, keepalive_limit_pdu;
int pre_init;
int max_clients;
int keepalive_limit_bw, keepalive_limit_pdu;
int pre_init;
@@
-3560,6
+3561,7
@@
void Yaz_Proxy::pre_init()
&limit_bw, &limit_pdu, &limit_req,
&limit_search,
&target_idletime, &client_idletime,
&limit_bw, &limit_pdu, &limit_req,
&limit_search,
&target_idletime, &client_idletime,
+ &max_sockets,
&max_clients,
&keepalive_limit_bw,
&keepalive_limit_pdu,
&max_clients,
&keepalive_limit_bw,
&keepalive_limit_pdu,
@@
-3603,7
+3605,8
@@
void Yaz_Proxy::pre_init()
"sparew=%d preinit=%d",m_session_str,
name, zurl_in_use[j], in_use, other,
spare, spare_waiting, pre_init);
"sparew=%d preinit=%d",m_session_str,
name, zurl_in_use[j], in_use, other,
spare, spare_waiting, pre_init);
- if (spare + spare_waiting < pre_init)
+ if (spare + spare_waiting < pre_init
+ && in_use + spare + spare_waiting + other < max_sockets)
{
c = new Yaz_ProxyClient(m_PDU_Observable->clone(), this);
c->m_next = m_clientPool;
{
c = new Yaz_ProxyClient(m_PDU_Observable->clone(), this);
c->m_next = m_clientPool;