Mantis #2107
Thank you, lulurun, for a patch to fix a possible crash when a received packet contains a quaternion with all members zeroed.0.6.0-stable
parent
0fc55818ca
commit
dba779862d
|
@ -388,14 +388,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// output queue
|
// output queue
|
||||||
|
|
||||||
if ((q.Count == 0) && (throttle.UnderLimit()))
|
if ((q.Count == 0) && (throttle.UnderLimit()))
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
Monitor.Enter(this);
|
Monitor.Enter(this);
|
||||||
throttle.Add(item.Packet.ToBytes().Length);
|
throttle.Add(item.Packet.ToBytes().Length);
|
||||||
TotalThrottle.Add(item.Packet.ToBytes().Length);
|
TotalThrottle.Add(item.Packet.ToBytes().Length);
|
||||||
SendQueue.Enqueue(item);
|
SendQueue.Enqueue(item);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
// Probably a serialization exception
|
||||||
|
m_log.WarnFormat("ThrottleCheck: {0}", e.ToString());
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
Monitor.Pulse(this);
|
Monitor.Pulse(this);
|
||||||
Monitor.Exit(this);
|
Monitor.Exit(this);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
q.Enqueue(item);
|
q.Enqueue(item);
|
||||||
|
|
Loading…
Reference in New Issue