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);
+ }
}
}
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);
}