git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix traffcounter include path for ipq cap plugin
[stg.git]
/
projects
/
rscriptd
/
listener.cpp
diff --git
a/projects/rscriptd/listener.cpp
b/projects/rscriptd/listener.cpp
index 8737b3b8aae2c6d4893e8e8a249bce445b21d892..814eb1d8e7ae77590f3ccebf4a7e00de36abdc1c 100644
(file)
--- a/
projects/rscriptd/listener.cpp
+++ b/
projects/rscriptd/listener.cpp
@@
-162,9
+162,9
@@
return false;
//-----------------------------------------------------------------------------
void * LISTENER::Run(void * d)
{
//-----------------------------------------------------------------------------
void * LISTENER::Run(void * d)
{
-LISTENER *
ia
= static_cast<LISTENER *>(d);
+LISTENER *
listener
= static_cast<LISTENER *>(d);
-
ia
->Runner();
+
listener
->Runner();
return NULL;
}
return NULL;
}
@@
-183,9
+183,9
@@
receiverStopped = true;
//-----------------------------------------------------------------------------
void * LISTENER::RunProcessor(void * d)
{
//-----------------------------------------------------------------------------
void * LISTENER::RunProcessor(void * d)
{
-LISTENER *
ia
= static_cast<LISTENER *>(d);
+LISTENER *
listener
= static_cast<LISTENER *>(d);
-
ia
->ProcessorRunner();
+
listener
->ProcessorRunner();
return NULL;
}
return NULL;
}
@@
-215,8
+215,6
@@
if (listenSocket < 0)
return true;
}
return true;
}
-printfd(__FILE__, "Port: %d\n", port);
-
struct sockaddr_in listenAddr;
listenAddr.sin_family = AF_INET;
listenAddr.sin_port = htons(port);
struct sockaddr_in listenAddr;
listenAddr.sin_family = AF_INET;
listenAddr.sin_port = htons(port);
@@
-250,7
+248,7
@@
RS_PACKET_HEADER packetHead;
iov[0].iov_base = reinterpret_cast<char *>(&packetHead);
iov[0].iov_len = sizeof(packetHead);
iov[1].iov_base = buffer;
iov[0].iov_base = reinterpret_cast<char *>(&packetHead);
iov[0].iov_len = sizeof(packetHead);
iov[1].iov_base = buffer;
-iov[1].iov_len = sizeof(buffer);
+iov[1].iov_len = sizeof(buffer)
- sizeof(packetHead)
;
size_t dataLen = 0;
while (dataLen < sizeof(buffer))
size_t dataLen = 0;
while (dataLen < sizeof(buffer))
@@
-321,9
+319,9
@@
if (strncmp((char *)packetTail.magic, RS_ID, RS_MAGIC_LEN))
}
std::stringstream params;
}
std::stringstream params;
-params <<
data.login <<
" "
+params <<
"\"" << data.login << "\
" "
<< inet_ntostring(data.ip) << " "
<< inet_ntostring(data.ip) << " "
- <<
ntohl(data.id)
<< " "
+ <<
data.id
<< " "
<< (char *)packetTail.params;
data.params = params.str();
<< (char *)packetTail.params;
data.params = params.str();
@@
-333,9
+331,10
@@
return false;
//-----------------------------------------------------------------------------
void LISTENER::ProcessPending()
{
//-----------------------------------------------------------------------------
void LISTENER::ProcessPending()
{
-printfd(__FILE__, "Pending data size: %d\n", pending.size());
std::list<PendingData>::iterator it(pending.begin());
std::list<PendingData>::iterator it(pending.begin());
-while (it != pending.end())
+size_t count = 0;
+printfd(__FILE__, "Pending: %d\n", pending.size());
+while (it != pending.end() && count < 256)
{
std::vector<AliveData>::iterator uit(
std::lower_bound(
{
std::vector<AliveData>::iterator uit(
std::lower_bound(
@@
-375,10
+374,11
@@
while (it != pending.end())
users.erase(uit);
}
}
users.erase(uit);
}
}
-
- STG_LOCKER lock(&mutex, __FILE__, __LINE__);
- pending.erase(it++);
+ ++it;
+ ++count;
}
}
+STG_LOCKER lock(&mutex, __FILE__, __LINE__);
+pending.erase(pending.begin(), it);
}
//-----------------------------------------------------------------------------
void LISTENER::ProcessTimeouts()
}
//-----------------------------------------------------------------------------
void LISTENER::ProcessTimeouts()