diff options
author | Teravus Ovares | 2008-02-22 19:44:46 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-02-22 19:44:46 +0000 |
commit | 582964800cc30e5ad08cf3be9a6a49fa96dd8b68 (patch) | |
tree | 02ef3aff1bfcbc3bca0d89663396f35e2963ca0a | |
parent | * Moved the EventManager over to delegate instances to prevent race conditions. (diff) | |
download | opensim-SC_OLD-582964800cc30e5ad08cf3be9a6a49fa96dd8b68.zip opensim-SC_OLD-582964800cc30e5ad08cf3be9a6a49fa96dd8b68.tar.gz opensim-SC_OLD-582964800cc30e5ad08cf3be9a6a49fa96dd8b68.tar.bz2 opensim-SC_OLD-582964800cc30e5ad08cf3be9a6a49fa96dd8b68.tar.xz |
* Moved all events except gridcomms and regioncomms over to Event Delegate instances to prevent event race conditions
7 files changed, 40 insertions, 19 deletions
diff --git a/OpenSim/Framework/Communications/Capabilities/Caps.cs b/OpenSim/Framework/Communications/Capabilities/Caps.cs index a360dc3..0eb144c 100644 --- a/OpenSim/Framework/Communications/Capabilities/Caps.cs +++ b/OpenSim/Framework/Communications/Capabilities/Caps.cs | |||
@@ -475,6 +475,7 @@ namespace OpenSim.Region.Capabilities | |||
475 | public class AssetUploader | 475 | public class AssetUploader |
476 | { | 476 | { |
477 | public event UpLoadedAsset OnUpLoad; | 477 | public event UpLoadedAsset OnUpLoad; |
478 | private UpLoadedAsset handler001 = null; | ||
478 | 479 | ||
479 | private string uploaderPath = String.Empty; | 480 | private string uploaderPath = String.Empty; |
480 | private LLUUID newAssetID; | 481 | private LLUUID newAssetID; |
@@ -528,10 +529,10 @@ namespace OpenSim.Region.Capabilities | |||
528 | { | 529 | { |
529 | SaveAssetToFile(m_assetName + ".jp2", data); | 530 | SaveAssetToFile(m_assetName + ".jp2", data); |
530 | } | 531 | } |
531 | 532 | handler001 = OnUpLoad; | |
532 | if (OnUpLoad != null) | 533 | if (handler001 != null) |
533 | { | 534 | { |
534 | OnUpLoad(m_assetName, m_assetDes, newAssetID, inv, parentFolder, data, m_invType, m_assetType); | 535 | handler001(m_assetName, m_assetDes, newAssetID, inv, parentFolder, data, m_invType, m_assetType); |
535 | } | 536 | } |
536 | 537 | ||
537 | return res; | 538 | return res; |
@@ -568,6 +569,8 @@ namespace OpenSim.Region.Capabilities | |||
568 | { | 569 | { |
569 | public event UpdateItem OnUpLoad; | 570 | public event UpdateItem OnUpLoad; |
570 | 571 | ||
572 | private UpdateItem handler001 = null; | ||
573 | |||
571 | private string uploaderPath = String.Empty; | 574 | private string uploaderPath = String.Empty; |
572 | private LLUUID inventoryItemID; | 575 | private LLUUID inventoryItemID; |
573 | private BaseHttpServer httpListener; | 576 | private BaseHttpServer httpListener; |
@@ -595,10 +598,10 @@ namespace OpenSim.Region.Capabilities | |||
595 | string res = String.Empty; | 598 | string res = String.Empty; |
596 | LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete(); | 599 | LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete(); |
597 | LLUUID assetID = LLUUID.Zero; | 600 | LLUUID assetID = LLUUID.Zero; |
598 | 601 | handler001 = OnUpLoad; | |
599 | if (OnUpLoad != null) | 602 | if (handler001 != null) |
600 | { | 603 | { |
601 | assetID = OnUpLoad(inv, data); | 604 | assetID = handler001(inv, data); |
602 | } | 605 | } |
603 | 606 | ||
604 | uploadComplete.new_asset = assetID.ToString(); | 607 | uploadComplete.new_asset = assetID.ToString(); |
@@ -648,6 +651,8 @@ namespace OpenSim.Region.Capabilities | |||
648 | { | 651 | { |
649 | public event UpdateTaskScript OnUpLoad; | 652 | public event UpdateTaskScript OnUpLoad; |
650 | 653 | ||
654 | private UpdateTaskScript handler001 = null; | ||
655 | |||
651 | private string uploaderPath = String.Empty; | 656 | private string uploaderPath = String.Empty; |
652 | private LLUUID inventoryItemID; | 657 | private LLUUID inventoryItemID; |
653 | private LLUUID primID; | 658 | private LLUUID primID; |
@@ -688,9 +693,10 @@ namespace OpenSim.Region.Capabilities | |||
688 | string res = String.Empty; | 693 | string res = String.Empty; |
689 | LLSDTaskInventoryUploadComplete uploadComplete = new LLSDTaskInventoryUploadComplete(); | 694 | LLSDTaskInventoryUploadComplete uploadComplete = new LLSDTaskInventoryUploadComplete(); |
690 | 695 | ||
691 | if (OnUpLoad != null) | 696 | handler001 = OnUpLoad; |
697 | if (handler001 != null) | ||
692 | { | 698 | { |
693 | OnUpLoad(inventoryItemID, primID, isScriptRunning, data); | 699 | handler001(inventoryItemID, primID, isScriptRunning, data); |
694 | } | 700 | } |
695 | 701 | ||
696 | uploadComplete.item_id = inventoryItemID; | 702 | uploadComplete.item_id = inventoryItemID; |
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs index e45aacf..80899e8 100644 --- a/OpenSim/Grid/UserServer/UserLoginService.cs +++ b/OpenSim/Grid/UserServer/UserLoginService.cs | |||
@@ -51,6 +51,8 @@ namespace OpenSim.Grid.UserServer | |||
51 | private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | 51 | private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); |
52 | 52 | ||
53 | public event UserLoggedInAtLocation OnUserLoggedInAtLocation; | 53 | public event UserLoggedInAtLocation OnUserLoggedInAtLocation; |
54 | |||
55 | private UserLoggedInAtLocation handler001 = null; | ||
54 | 56 | ||
55 | public UserConfig m_config; | 57 | public UserConfig m_config; |
56 | 58 | ||
@@ -214,9 +216,10 @@ namespace OpenSim.Grid.UserServer | |||
214 | // Send | 216 | // Send |
215 | XmlRpcRequest GridReq = new XmlRpcRequest("expect_user", SendParams); | 217 | XmlRpcRequest GridReq = new XmlRpcRequest("expect_user", SendParams); |
216 | XmlRpcResponse GridResp = GridReq.Send(SimInfo.httpServerURI, 6000); | 218 | XmlRpcResponse GridResp = GridReq.Send(SimInfo.httpServerURI, 6000); |
217 | if (OnUserLoggedInAtLocation != null) | 219 | handler001 = OnUserLoggedInAtLocation; |
220 | if (handler001 != null) | ||
218 | { | 221 | { |
219 | OnUserLoggedInAtLocation(theUser.UUID, theUser.currentAgent.sessionID, theUser.currentAgent.currentRegion, theUser.currentAgent.currentHandle, theUser.currentAgent.currentPos); | 222 | handler001(theUser.UUID, theUser.currentAgent.sessionID, theUser.currentAgent.currentRegion, theUser.currentAgent.currentHandle, theUser.currentAgent.currentPos); |
220 | } | 223 | } |
221 | } | 224 | } |
222 | 225 | ||
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 38bcb03..fea6b2b 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -47,6 +47,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
47 | #region Events | 47 | #region Events |
48 | 48 | ||
49 | public event PhysicsCrash UnRecoverableError; | 49 | public event PhysicsCrash UnRecoverableError; |
50 | private PhysicsCrash handler001 = null; | ||
50 | 51 | ||
51 | #endregion | 52 | #endregion |
52 | 53 | ||
@@ -715,9 +716,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
715 | 716 | ||
716 | public void physicsBasedCrash() | 717 | public void physicsBasedCrash() |
717 | { | 718 | { |
718 | if (UnRecoverableError != null) | 719 | handler001 = UnRecoverableError; |
720 | if (handler001 != null) | ||
719 | { | 721 | { |
720 | UnRecoverableError(); | 722 | handler001(); |
721 | } | 723 | } |
722 | } | 724 | } |
723 | 725 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs index 4e05682..3371912 100644 --- a/OpenSim/Region/Environment/Scenes/SceneBase.cs +++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs | |||
@@ -160,7 +160,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
160 | public virtual void Restart(int seconds) | 160 | public virtual void Restart(int seconds) |
161 | { | 161 | { |
162 | m_log.Error("[REGION]: passing Restart Message up the namespace"); | 162 | m_log.Error("[REGION]: passing Restart Message up the namespace"); |
163 | OnRestart(RegionInfo); | 163 | restart handler001 = OnRestart; |
164 | if (handler001 != null) | ||
165 | handler001(RegionInfo); | ||
164 | } | 166 | } |
165 | 167 | ||
166 | public virtual bool PresenceChildStatus(LLUUID avatarID) | 168 | public virtual bool PresenceChildStatus(LLUUID avatarID) |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 2e4135c..8fd9edb 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -54,6 +54,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
54 | protected ulong m_regionHandle; | 54 | protected ulong m_regionHandle; |
55 | 55 | ||
56 | public event PrimCountTaintedDelegate OnPrimCountTainted; | 56 | public event PrimCountTaintedDelegate OnPrimCountTainted; |
57 | private PrimCountTaintedDelegate handler001 = null; | ||
57 | 58 | ||
58 | /// <summary> | 59 | /// <summary> |
59 | /// Signal whether the non-inventory attributes of any prims in the group have changed | 60 | /// Signal whether the non-inventory attributes of any prims in the group have changed |
@@ -1525,9 +1526,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
1525 | /// </summary> | 1526 | /// </summary> |
1526 | public void TriggerTainted() | 1527 | public void TriggerTainted() |
1527 | { | 1528 | { |
1528 | if (OnPrimCountTainted != null) | 1529 | handler001 = OnPrimCountTainted; |
1530 | if (handler001 != null) | ||
1529 | { | 1531 | { |
1530 | OnPrimCountTainted(); | 1532 | handler001(); |
1531 | } | 1533 | } |
1532 | } | 1534 | } |
1533 | 1535 | ||
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 2d01282..9b80444 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -116,6 +116,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
116 | private readonly List<ulong> m_knownChildRegions = new List<ulong>(); | 116 | private readonly List<ulong> m_knownChildRegions = new List<ulong>(); |
117 | //neighbouring regions we have enabled a child agent in | 117 | //neighbouring regions we have enabled a child agent in |
118 | 118 | ||
119 | private SignificantClientMovement handler001 = null; //OnSignificantClientMovement; | ||
120 | |||
119 | 121 | ||
120 | /// <summary> | 122 | /// <summary> |
121 | /// Implemented Control Flags | 123 | /// Implemented Control Flags |
@@ -1482,9 +1484,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
1482 | if (Util.GetDistanceTo(AbsolutePosition, posLastSignificantMove) > 0.5) | 1484 | if (Util.GetDistanceTo(AbsolutePosition, posLastSignificantMove) > 0.5) |
1483 | { | 1485 | { |
1484 | posLastSignificantMove = AbsolutePosition; | 1486 | posLastSignificantMove = AbsolutePosition; |
1485 | if (OnSignificantClientMovement != null) | 1487 | |
1488 | if (handler001 != null) | ||
1486 | { | 1489 | { |
1487 | OnSignificantClientMovement(m_controllingClient); | 1490 | handler001(m_controllingClient); |
1488 | m_scene.NotifyMyCoarseLocationChange(); | 1491 | m_scene.NotifyMyCoarseLocationChange(); |
1489 | } | 1492 | } |
1490 | } | 1493 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs b/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs index 90e09b0..d4868f3 100644 --- a/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs +++ b/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs | |||
@@ -39,6 +39,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
39 | 39 | ||
40 | public event SendStatResult OnSendStatsResult; | 40 | public event SendStatResult OnSendStatsResult; |
41 | 41 | ||
42 | private SendStatResult handler001 = null; | ||
43 | |||
42 | private enum Stats : uint | 44 | private enum Stats : uint |
43 | { | 45 | { |
44 | TimeDilation = 0, | 46 | TimeDilation = 0, |
@@ -245,9 +247,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
245 | 247 | ||
246 | statpack.Stat = sb; | 248 | statpack.Stat = sb; |
247 | 249 | ||
248 | if (OnSendStatsResult != null) | 250 | handler001 = OnSendStatsResult; |
251 | if (handler001 != null) | ||
249 | { | 252 | { |
250 | OnSendStatsResult(statpack); | 253 | handler001(statpack); |
251 | } | 254 | } |
252 | resetvalues(); | 255 | resetvalues(); |
253 | m_report.Enabled = true; | 256 | m_report.Enabled = true; |