diff options
author | Diva Canto | 2013-07-18 13:30:04 -0700 |
---|---|---|
committer | Diva Canto | 2013-07-18 13:30:04 -0700 |
commit | b5062ae7ee4067158f255a0d62fb87b8eaf9d1d6 (patch) | |
tree | 36bb39138d07aa2082affcda77414024f931ebf5 /OpenSim | |
parent | try Hacking in an AutoResetEvent to control the outgoing UDP loop instead of ... (diff) | |
download | opensim-SC_OLD-b5062ae7ee4067158f255a0d62fb87b8eaf9d1d6.zip opensim-SC_OLD-b5062ae7ee4067158f255a0d62fb87b8eaf9d1d6.tar.gz opensim-SC_OLD-b5062ae7ee4067158f255a0d62fb87b8eaf9d1d6.tar.bz2 opensim-SC_OLD-b5062ae7ee4067158f255a0d62fb87b8eaf9d1d6.tar.xz |
Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
There's plenty of room for improvement in handling the EQs. Some other time...
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index c50df5a..e811079 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -118,7 +118,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
118 | // The only purpose of this thread is to check the EQs for events. | 118 | // The only purpose of this thread is to check the EQs for events. |
119 | // If there are events, that thread will be placed in the "ready-to-serve" queue, m_requests. | 119 | // If there are events, that thread will be placed in the "ready-to-serve" queue, m_requests. |
120 | // If there are no events, that thread will be back to its "waiting" queue, m_longPollRequests. | 120 | // If there are no events, that thread will be back to its "waiting" queue, m_longPollRequests. |
121 | // All other types of tasks (Inventory handlers) don't have the long-poll nature, | 121 | // All other types of tasks (Inventory handlers, http-in, etc) don't have the long-poll nature, |
122 | // so if they aren't ready to be served by a worker thread (no events), they are placed | 122 | // so if they aren't ready to be served by a worker thread (no events), they are placed |
123 | // directly back in the "ready-to-serve" queue by the worker thread. | 123 | // directly back in the "ready-to-serve" queue by the worker thread. |
124 | while (m_running) | 124 | while (m_running) |
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index f0445ff..c5e28ad 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | |||
@@ -65,6 +65,13 @@ namespace OpenSim.Region.ClientStack.Linden | |||
65 | /// </value> | 65 | /// </value> |
66 | public int DebugLevel { get; set; } | 66 | public int DebugLevel { get; set; } |
67 | 67 | ||
68 | // Viewer post requests timeout in 60 secs | ||
69 | // https://bitbucket.org/lindenlab/viewer-release/src/421c20423df93d650cc305dc115922bb30040999/indra/llmessage/llhttpclient.cpp?at=default#cl-44 | ||
70 | // | ||
71 | private const int VIEWER_TIMEOUT = 60 * 1000; | ||
72 | // Just to be safe, we work on a 10 sec shorter cycle | ||
73 | private const int SERVER_EQ_TIME_NO_EVENTS = VIEWER_TIMEOUT - (10 * 1000); | ||
74 | |||
68 | protected Scene m_scene; | 75 | protected Scene m_scene; |
69 | 76 | ||
70 | private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>(); | 77 | private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>(); |
@@ -363,8 +370,8 @@ namespace OpenSim.Region.ClientStack.Linden | |||
363 | } | 370 | } |
364 | 371 | ||
365 | caps.RegisterPollHandler( | 372 | caps.RegisterPollHandler( |
366 | "EventQueueGet", | 373 | "EventQueueGet", |
367 | new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, agentID, 40000)); | 374 | new PollServiceEventArgs(null, GenerateEqgCapPath(eventQueueGetUUID), HasEvents, GetEvents, NoEvents, agentID, SERVER_EQ_TIME_NO_EVENTS)); |
368 | 375 | ||
369 | Random rnd = new Random(Environment.TickCount); | 376 | Random rnd = new Random(Environment.TickCount); |
370 | lock (m_ids) | 377 | lock (m_ids) |