aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Estate
diff options
context:
space:
mode:
authorUbitUmarov2018-01-22 17:09:38 +0000
committerUbitUmarov2018-01-22 17:09:38 +0000
commitd38161f83d08e8f36905faaec30fcb9bbce9a319 (patch)
tree124cba5c7363aebf02965fc0702133c4e81f6874 /OpenSim/Region/CoreModules/World/Estate
parentgive BlockingCollection more chances (diff)
downloadopensim-SC-d38161f83d08e8f36905faaec30fcb9bbce9a319.zip
opensim-SC-d38161f83d08e8f36905faaec30fcb9bbce9a319.tar.gz
opensim-SC-d38161f83d08e8f36905faaec30fcb9bbce9a319.tar.bz2
opensim-SC-d38161f83d08e8f36905faaec30fcb9bbce9a319.tar.xz
retire our BlockingQueue replaced by BlockingCollection and cross fingers
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Estate')
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index 3c45b68..0ca76e4 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -26,7 +26,7 @@
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections; 29using System.Collections.Concurrent;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.IO; 31using System.IO;
32using System.Linq; 32using System.Linq;
@@ -668,7 +668,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
668 public UUID user; 668 public UUID user;
669 } 669 }
670 670
671 private OpenSim.Framework.BlockingQueue<EstateAccessDeltaRequest> deltaRequests = new OpenSim.Framework.BlockingQueue<EstateAccessDeltaRequest>(); 671 private BlockingCollection<EstateAccessDeltaRequest> deltaRequests = new BlockingCollection<EstateAccessDeltaRequest>();
672 672
673 private void handleEstateAccessDeltaRequest(IClientAPI _remote_client, UUID _invoice, int _estateAccessType, UUID _user) 673 private void handleEstateAccessDeltaRequest(IClientAPI _remote_client, UUID _invoice, int _estateAccessType, UUID _user)
674 { 674 {
@@ -683,7 +683,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
683 newreq.estateAccessType = _estateAccessType; 683 newreq.estateAccessType = _estateAccessType;
684 newreq.user = _user; 684 newreq.user = _user;
685 685
686 deltaRequests.Enqueue(newreq); 686 deltaRequests.Add(newreq);
687 687
688 lock(deltareqLock) 688 lock(deltareqLock)
689 { 689 {
@@ -713,9 +713,11 @@ namespace OpenSim.Region.CoreModules.World.Estate
713 bool sentGroupsFull = false; 713 bool sentGroupsFull = false;
714 bool sentManagersFull = false; 714 bool sentManagersFull = false;
715 715
716 EstateAccessDeltaRequest req;
716 while(Scene.IsRunning) 717 while(Scene.IsRunning)
717 { 718 {
718 EstateAccessDeltaRequest req = deltaRequests.Dequeue(500); 719 req = null;
720 deltaRequests.TryTake(out req, 500);
719 721
720 if(!Scene.IsRunning) 722 if(!Scene.IsRunning)
721 break; 723 break;
@@ -757,7 +759,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
757 changed.Clear(); 759 changed.Clear();
758 lock(deltareqLock) 760 lock(deltareqLock)
759 { 761 {
760 if(deltaRequests.Count() != 0) 762 if(deltaRequests.Count != 0)
761 continue; 763 continue;
762 runnigDeltaExec = false; 764 runnigDeltaExec = false;
763 return; 765 return;