X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fclient.c;h=1994364c18153e4b708b567776888af229034aa4;hb=6773e044598f25bd270889e36b1074aad32a7a5a;hp=94da524243ee4fbd69afc96ae48c276e09607c06;hpb=6a6908d7031a79b5767d86a4da056f65a742ac9f;p=umurmur.git diff --git a/src/client.c b/src/client.c index 94da524..1994364 100644 --- a/src/client.c +++ b/src/client.c @@ -94,8 +94,11 @@ void Client_janitor() if (c->availableBandwidth > bwTop) c->availableBandwidth = bwTop; - if (Timer_isElapsed(&c->lastActivity, 1000000LL * INACTICITY_TIMEOUT)) - Client_close(c); + if (Timer_isElapsed(&c->lastActivity, 1000000LL * INACTICITY_TIMEOUT)) { + /* No activity from client - assume it is lost and close. */ + Log_info("Session ID %d timeout - closing", c->sessionId); + Client_free(c); + } } } @@ -524,10 +527,14 @@ static void Client_voiceMsg_tunnel(client_t *client, message_t *msg) Pds_add_numval(pds, msg->sessionId); Pds_add_numval(pds, msg->payload.speex.seq); Pds_append_data_nosize(pds, msg->payload.speex.data, msg->payload.speex.size); + + Msg_free(msg); + if (!pds->bOk) Log_warn("Large Speex message from TCP"); /* XXX - pds resize? */ pds->maxsize = pds->offset; Client_voiceMsg(client, pds); + Pds_free(pds); }