diff options
-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) |