aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2009-12-14 00:32:00 +0000
committerMelanie2009-12-14 00:32:00 +0000
commit0813dc8c1d8ff6a2de04dc48e991e803eb3df260 (patch)
tree3aa288c205e41277ef927eac8605dc70845d8065
parentAdd an option to exit an instance rather than restarting a region within it (diff)
parentTweaking the ModifyLand packet to be async. Advice from Adam (diff)
downloadopensim-SC_OLD-0813dc8c1d8ff6a2de04dc48e991e803eb3df260.zip
opensim-SC_OLD-0813dc8c1d8ff6a2de04dc48e991e803eb3df260.tar.gz
opensim-SC_OLD-0813dc8c1d8ff6a2de04dc48e991e803eb3df260.tar.bz2
opensim-SC_OLD-0813dc8c1d8ff6a2de04dc48e991e803eb3df260.tar.xz
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
-rw-r--r--CONTRIBUTORS.txt346
-rw-r--r--OpenSim/Data/MySQL/MySQLInventoryData.cs3
-rw-r--r--OpenSim/Framework/Util.cs20
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs134
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs13
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs10
9 files changed, 315 insertions, 220 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index 0d78928..08048f5 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -1,173 +1,173 @@
1The following people have contributed to OpenSim (Thank you 1The following people have contributed to OpenSim (Thank you
2for your effort!) 2for your effort!)
3 3
4Add your name in here if you have committed to OpenSim 4Add your name in here if you have committed to OpenSim
5 5
6= Current OpenSim Developers (in very rough order of appearance) = 6= Current OpenSim Developers (in very rough order of appearance) =
7These folks represent the current core team for OpenSim, and are the 7These folks represent the current core team for OpenSim, and are the
8people that make the day to day of OpenSim happen. 8people that make the day to day of OpenSim happen.
9 9
10* MW (Tribal Media AB) 10* MW (Tribal Media AB)
11* Adam Frisby (DeepThink Pty Ltd) 11* Adam Frisby (DeepThink Pty Ltd)
12* MingChen (DeepThink Pty Ltd) 12* MingChen (DeepThink Pty Ltd)
13* lbsa71 (Tribal Media AB) 13* lbsa71 (Tribal Media AB)
14* Sean Dague / sdague (IBM) 14* Sean Dague / sdague (IBM)
15* Tedd 15* Tedd
16* justincc 16* justincc
17* Teravus (w3z) 17* Teravus (w3z)
18* Johan Berntsson (3Di) 18* Johan Berntsson (3Di)
19* Ckrinke (Charles Krinke) 19* Ckrinke (Charles Krinke)
20* chi11ken (Genkii) 20* chi11ken (Genkii)
21* adjohn (Genkii) 21* adjohn (Genkii)
22* Dr Scofield aka Dirk Husemann (IBM Research - Zurich) 22* Dr Scofield aka Dirk Husemann (IBM Research - Zurich)
23* dahlia 23* dahlia
24* mikem (3Di) 24* mikem (3Di)
25* Melanie Thielker 25* Melanie Thielker
26* Homer_Horwitz 26* Homer_Horwitz
27* idb (Ian Brown) 27* idb (Ian Brown)
28* Diva (Crista Lopes, University of California, Irvine) 28* Diva (Crista Lopes, University of California, Irvine)
29* nlin (3Di) 29* nlin (3Di)
30* Arthur Rodrigo S Valadares (IBM) 30* Arthur Rodrigo S Valadares (IBM)
31 31
32 32
33= Past Open Sim Developers = 33= Past Open Sim Developers =
34These folks are alumns of the OpenSim core group, but are now 34These folks are alumns of the OpenSim core group, but are now
35currently not active. Their great contributions helped get us to 35currently not active. Their great contributions helped get us to
36where we are today. 36where we are today.
37 37
38* Gareth 38* Gareth
39* Andy- 39* Andy-
40* MorphW 40* MorphW
41* CW 41* CW
42* Babblefrog 42* Babblefrog
43* Danx0r 43* Danx0r
44* Dalien 44* Dalien
45* Darok 45* Darok
46* Alondria 46* Alondria
47 47
48 48
49= Additional OpenSim Contributors = 49= Additional OpenSim Contributors =
50These folks have contributed code patches to OpenSim to help make it 50These folks have contributed code patches to OpenSim to help make it
51what it is today. 51what it is today.
52 52
53* aduffy70 53* aduffy70
54* A_Biondi 54* A_Biondi
55* alex_carnell 55* alex_carnell
56* Alan Webb (IBM) 56* Alan Webb (IBM)
57* BigFootAg 57* BigFootAg
58* BlueWall Slade 58* BlueWall Slade
59* brianw/Sir_Ahzz 59* brianw/Sir_Ahzz
60* CharlieO 60* CharlieO
61* ChrisDown 61* ChrisDown
62* Chris Yeoh (IBM) 62* Chris Yeoh (IBM)
63* coyled 63* coyled
64* Daedius 64* Daedius
65* Dong Jun Lan (IBM) 65* Dong Jun Lan (IBM)
66* DoranZemlja 66* DoranZemlja
67* daTwitch 67* daTwitch
68* devalnor-#708 68* devalnor-#708
69* dmiles (Daxtron Labs) 69* dmiles (Daxtron Labs)
70* dslake (Intel) 70* dslake (Intel)
71* FredoChaplin 71* FredoChaplin
72* Gerhard 72* Gerhard
73* Godfrey 73* Godfrey
74* Grumly57 74* Grumly57
75* Ewe Loon 75* Ewe Loon
76* Fly-Man 76* Fly-Man
77* Flyte Xevious 77* Flyte Xevious
78* Imaze Rhiano 78* Imaze Rhiano
79* Intimidated 79* Intimidated
80* Jeremy Bongio (IBM) 80* Jeremy Bongio (IBM)
81* jhurliman 81* jhurliman
82* John R Sohn (XenReborn) 82* John R Sohn (XenReborn)
83* jonc 83* jonc
84* Junta Kohime 84* Junta Kohime
85* Kayne 85* Kayne
86* Kevin Cozens 86* Kevin Cozens
87* kinoc (Daxtron Labs) 87* kinoc (Daxtron Labs)
88* Kitto Flora 88* Kitto Flora
89* KittyLiu 89* KittyLiu
90* Kurt Taylor (IBM) 90* Kurt Taylor (IBM)
91* lulurun 91* lulurun
92* M.Igarashi 92* M.Igarashi
93* maimedleech 93* maimedleech
94* Mic Bowman 94* Mic Bowman
95* Michelle Argus 95* Michelle Argus
96* Michael Cortez (The Flotsam Project, http://osflotsam.org/) 96* Michael Cortez (The Flotsam Project, http://osflotsam.org/)
97* Mike Osias (IBM) 97* Mike Osias (IBM)
98* Mike Pitman (IBM) 98* Mike Pitman (IBM)
99* mikkopa/_someone - RealXtend 99* mikkopa/_someone - RealXtend
100* Misterblue (Intel) 100* Misterblue (Intel)
101* Mircea Kitsune 101* Mircea Kitsune
102* mpallari 102* mpallari
103* nornalbion 103* nornalbion
104* Omar Vera Ustariz (IBM) 104* Omar Vera Ustariz (IBM)
105* openlifegrid.com 105* openlifegrid.com
106* otakup0pe 106* otakup0pe
107* ralphos 107* ralphos
108* RemedyTomm 108* RemedyTomm
109* Revolution 109* Revolution
110* Richard Alimi (IBM) 110* Richard Alimi (IBM)
111* Rick Alther (IBM) 111* Rick Alther (IBM)
112* Rob Smart (IBM) 112* Rob Smart (IBM)
113* rtomita 113* rtomita
114* Ruud Lathorp 114* Ruud Lathorp
115* SachaMagne 115* SachaMagne
116* Salahzar Stenvaag 116* Salahzar Stenvaag
117* sempuki 117* sempuki
118* Snoopy 118* Snoopy
119* Strawberry Fride 119* Strawberry Fride
120* tglion 120* tglion
121* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) 121* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud)
122* tyre 122* tyre
123* Vytek 123* Vytek
124* webmage (IBM) 124* webmage (IBM)
125* Xantor 125* Xantor
126* Y. Nitta 126* Y. Nitta
127* YZh 127* YZh
128* Zackary Geers aka Kunnis Basiat 128* Zackary Geers aka Kunnis Basiat
129* Zha Ewry 129* Zha Ewry
130 130
131 131
132= LSL Devs = 132= LSL Devs =
133 133
134* Alondria 134* Alondria
135* CharlieO 135* CharlieO
136* Tedd 136* Tedd
137* Melanie Thielker 137* Melanie Thielker
138 138
139 139
140= Testers = 140= Testers =
141 141
142* Ai Austin 142* Ai Austin
143* CharlieO (LSL) 143* CharlieO (LSL)
144* Ckrinke 144* Ckrinke
145* openlifegrid.com 145* openlifegrid.com
146 146
147 147
148This software uses components from the following developers: 148This software uses components from the following developers:
149* Sleepycat Software (Berkeley DB) 149* Sleepycat Software (Berkeley DB)
150* SQLite (Public Domain) 150* SQLite (Public Domain)
151* XmlRpcCS (http://xmlrpccs.sf.net/) 151* XmlRpcCS (http://xmlrpccs.sf.net/)
152* MySQL, Inc. (MySQL Connector/NET) 152* MySQL, Inc. (MySQL Connector/NET)
153* NUnit (http://www.nunit.org) 153* NUnit (http://www.nunit.org)
154* AGEIA Inc. (PhysX) 154* AGEIA Inc. (PhysX)
155* Russel L. Smith (ODE) 155* Russel L. Smith (ODE)
156* Prebuild (http://sourceforge.net/projects/dnpb/) 156* Prebuild (http://sourceforge.net/projects/dnpb/)
157* LibOpenMetaverse (http://lib.openmetaverse.org/) 157* LibOpenMetaverse (http://lib.openmetaverse.org/)
158* DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net) 158* DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net)
159* Prototype JavaScript Framework ajax (http://www.prototypejs.org/) 159* Prototype JavaScript Framework ajax (http://www.prototypejs.org/)
160* C5 GENERIC COLLECTION LIBRARY FOR C#/CLI 160* C5 GENERIC COLLECTION LIBRARY FOR C#/CLI
161* Nini (http://nini.sourceforge.net/) 161* Nini (http://nini.sourceforge.net/)
162* log4net (http://logging.apache.org/log4net/) 162* log4net (http://logging.apache.org/log4net/)
163* GlynnTucker.Cache (http://gtcache.sourceforge.net/) 163* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
164* NDesk.Options 0.2.1 (http://www.ndesk.org/Options) 164* NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
165 165
166Some plugins are based on Cable Beach 166Some plugins are based on Cable Beach
167Cable Beach is Copyright (c) 2008 Intel Corporation 167Cable Beach is Copyright (c) 2008 Intel Corporation
168see http://forge.opensimulator.org/gf/project/assetserver/ 168see http://forge.opensimulator.org/gf/project/assetserver/
169 169
170In addition, we would like to thank: 170In addition, we would like to thank:
171* The Mono Project 171* The Mono Project
172* The NANT Developers 172* The NANT Developers
173* Microsoft (.NET, MSSQL-Adapters) 173* Microsoft (.NET, MSSQL-Adapters)
diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs
index 0ea0cb7..d560c5f 100644
--- a/OpenSim/Data/MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs
@@ -91,6 +91,9 @@ namespace OpenSim.Data.MySQL
91 rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true"; 91 rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
92 opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true"; 92 opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
93 93
94 if(rollbackStore)
95 m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
96
94 database = 97 database =
95 new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, 98 new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
96 settingPort); 99 settingPort);
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 1112497..7215086 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1007,6 +1007,26 @@ namespace OpenSim.Framework
1007 return os; 1007 return os;
1008 } 1008 }
1009 1009
1010 public static string GetRuntimeInformation()
1011 {
1012 string ru = String.Empty;
1013
1014 if (Environment.OSVersion.Platform == PlatformID.Unix)
1015 ru = "Unix/Mono";
1016 else
1017 if (Environment.OSVersion.Platform == PlatformID.MacOSX)
1018 ru = "OSX/Mono";
1019 else
1020 {
1021 if (Type.GetType("Mono.Runtime") != null)
1022 ru = "Win/Mono";
1023 else
1024 ru = "Win/.NET";
1025 }
1026
1027 return ru;
1028 }
1029
1010 /// <summary> 1030 /// <summary>
1011 /// Is the given string a UUID? 1031 /// Is the given string a UUID?
1012 /// </summary> 1032 /// </summary>
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index fba5090..4780701 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -332,7 +332,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
332 private AgentUpdateArgs lastarg; 332 private AgentUpdateArgs lastarg;
333 private bool m_IsActive = true; 333 private bool m_IsActive = true;
334 334
335 protected Dictionary<PacketType, PacketMethod> m_packetHandlers = new Dictionary<PacketType, PacketMethod>(); 335 protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>();
336 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers 336 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers
337 protected Scene m_scene; 337 protected Scene m_scene;
338 protected LLImageManager m_imageManager; 338 protected LLImageManager m_imageManager;
@@ -540,12 +540,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
540 540
541 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler) 541 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler)
542 { 542 {
543 return AddLocalPacketHandler(packetType, handler, true);
544 }
545
546 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler, bool async)
547 {
543 bool result = false; 548 bool result = false;
544 lock (m_packetHandlers) 549 lock (m_packetHandlers)
545 { 550 {
546 if (!m_packetHandlers.ContainsKey(packetType)) 551 if (!m_packetHandlers.ContainsKey(packetType))
547 { 552 {
548 m_packetHandlers.Add(packetType, handler); 553 m_packetHandlers.Add(packetType, new PacketProcessor() { method = handler, Async = async });
549 result = true; 554 result = true;
550 } 555 }
551 } 556 }
@@ -576,15 +581,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
576 protected virtual bool ProcessPacketMethod(Packet packet) 581 protected virtual bool ProcessPacketMethod(Packet packet)
577 { 582 {
578 bool result = false; 583 bool result = false;
579 PacketMethod method; 584 PacketProcessor pprocessor;
580 if (m_packetHandlers.TryGetValue(packet.Type, out method)) 585 if (m_packetHandlers.TryGetValue(packet.Type, out pprocessor))
581 { 586 {
582 //there is a local handler for this packet type 587 //there is a local handler for this packet type
583 result = method(this, packet); 588 if (pprocessor.Async)
589 {
590 object obj = new AsyncPacketProcess(this, pprocessor.method, packet);
591 Util.FireAndForget(ProcessSpecificPacketAsync,obj);
592 result = true;
593 }
594 else
595 {
596 result = pprocessor.method(this, packet);
597 }
584 } 598 }
585 else 599 else
586 { 600 {
587 //there is not a local handler so see if there is a Global handler 601 //there is not a local handler so see if there is a Global handler
602 PacketMethod method = null;
588 bool found; 603 bool found;
589 lock (PacketHandlers) 604 lock (PacketHandlers)
590 { 605 {
@@ -598,6 +613,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
598 return result; 613 return result;
599 } 614 }
600 615
616 public void ProcessSpecificPacketAsync(object state)
617 {
618 AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
619 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
620
621 }
622
601 #endregion Packet Handling 623 #endregion Packet Handling
602 624
603 # region Setup 625 # region Setup
@@ -4340,20 +4362,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4340 protected virtual void RegisterLocalPacketHandlers() 4362 protected virtual void RegisterLocalPacketHandlers()
4341 { 4363 {
4342 AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); 4364 AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout);
4343 AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate); 4365 AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false);
4344 AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect); 4366 AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false);
4345 AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached); 4367 AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false);
4346 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate); 4368 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false);
4347 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); 4369 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false);
4348 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); 4370 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest, false);
4349 AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest); 4371 AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest, false);
4350 AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest); 4372 AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest, false);
4351 AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); 4373 AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage);
4352 AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); 4374 AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest);
4353 AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); 4375 AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer);
4354 AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); 4376 AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate);
4355 AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); 4377 AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply);
4356 AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage); 4378 AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage, false);
4357 AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); 4379 AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship);
4358 AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); 4380 AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship);
4359 AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); 4381 AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship);
@@ -4370,9 +4392,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4370 AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); 4392 AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach);
4371 AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); 4393 AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach);
4372 AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); 4394 AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop);
4373 AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun); 4395 AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun, false);
4374 AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); 4396 AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement);
4375 AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation); 4397 AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation, false);
4376 AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); 4398 AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit);
4377 AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); 4399 AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit);
4378 AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); 4400 AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger);
@@ -4381,9 +4403,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4381 AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); 4403 AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest);
4382 AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); 4404 AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo);
4383 AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); 4405 AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest);
4384 AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle); 4406 AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle, false);
4385 AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause); 4407 AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause, false);
4386 AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume); 4408 AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume, false);
4387 AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); 4409 AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease);
4388 AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); 4410 AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink);
4389 AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); 4411 AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink);
@@ -4399,22 +4421,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4399 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); 4421 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
4400 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); 4422 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
4401 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); 4423 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage);
4402 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab); 4424 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
4403 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate); 4425 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
4404 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); 4426 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);
4405 AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart); 4427 AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart, false);
4406 AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate); 4428 AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate, false);
4407 AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop); 4429 AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop, false);
4408 AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription); 4430 AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription, false);
4409 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName); 4431 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false);
4410 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions); 4432 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false);
4411 AddLocalPacketHandler(PacketType.Undo, HandleUndo); 4433 AddLocalPacketHandler(PacketType.Undo, HandleUndo, false);
4412 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); 4434 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay);
4413 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily); 4435 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false);
4414 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); 4436 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch);
4415 AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes); 4437 AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes, false);
4416 AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction); 4438 AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction, false);
4417 AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial); 4439 AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial, false);
4418 AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); 4440 AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage);
4419 AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); 4441 AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest);
4420 AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); 4442 AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest);
@@ -4440,17 +4462,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4440 AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); 4462 AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory);
4441 AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); 4463 AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory);
4442 AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); 4464 AddLocalPacketHandler(PacketType.RezScript, HandleRezScript);
4443 AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest); 4465 AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false);
4444 AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest); 4466 AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false);
4445 AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest); 4467 AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false);
4446 AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); 4468 AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest);
4447 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); 4469 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest);
4448 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest); 4470 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false);
4449 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); 4471 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest);
4450 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); 4472 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false);
4451 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest); 4473 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false);
4452 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate); 4474 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false);
4453 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest); 4475 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false);
4454 AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); 4476 AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide);
4455 AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); 4477 AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin);
4456 AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); 4478 AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate);
@@ -4464,7 +4486,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4464 AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); 4486 AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest);
4465 AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); 4487 AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest);
4466 AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); 4488 AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage);
4467 AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo); 4489 AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo, false);
4468 AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); 4490 AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest);
4469 AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); 4491 AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers);
4470 AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); 4492 AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser);
@@ -4479,13 +4501,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4479 AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); 4501 AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures);
4480 AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); 4502 AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures);
4481 AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); 4503 AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner);
4482 AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV); 4504 AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV, false);
4483 AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); 4505 AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats);
4484 AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest); 4506 AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest, false);
4485 AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort); 4507 AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false);
4486 AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest); 4508 AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false);
4487 AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); 4509 AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode);
4488 AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth); 4510 AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false);
4489 AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); 4511 AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents);
4490 AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); 4512 AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery);
4491 AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); 4513 AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery);
@@ -15757,6 +15779,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
15757 } 15779 }
15758 #endregion 15780 #endregion
15759 } 15781 }
15782
15783 public struct PacketProcessor
15784 {
15785 public PacketMethod method;
15786 public bool Async;
15787 }
15788 public class AsyncPacketProcess
15789 {
15790 public bool result = false;
15791 public readonly LLClientView ClientView = null;
15792 public readonly Packet Pack = null;
15793 public readonly PacketMethod Method = null;
15794 public AsyncPacketProcess(LLClientView pClientview, PacketMethod pMethod, Packet pPack)
15795 {
15796 ClientView = pClientview;
15797 Method = pMethod;
15798 Pack = pPack;
15799 }
15800 }
15801
15760 #endregion 15802 #endregion
15761 15803
15762 public static OSD BuildEvent(string eventName, OSD eventBody) 15804 public static OSD BuildEvent(string eventName, OSD eventBody)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 338f2bb..3c4fa72 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -943,7 +943,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
943 } 943 }
944 944
945 if (packetInbox.Dequeue(100, ref incomingPacket)) 945 if (packetInbox.Dequeue(100, ref incomingPacket))
946 Util.FireAndForget(ProcessInPacket, incomingPacket); 946 ProcessInPacket(incomingPacket);//, incomingPacket); Util.FireAndForget(ProcessInPacket, incomingPacket);
947 } 947 }
948 catch (Exception ex) 948 catch (Exception ex)
949 { 949 {
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 4241b20..eb284c1 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -574,10 +574,15 @@ namespace OpenSim.Region.Framework.Scenes
574 574
575 StatsReporter.SetObjectCapacity(objectCapacity); 575 StatsReporter.SetObjectCapacity(objectCapacity);
576 576
577 // Old
578 /*
577 m_simulatorVersion = simulatorVersion 579 m_simulatorVersion = simulatorVersion
578 + " (OS " + Util.GetOperatingSystemInformation() + ")" 580 + " (OS " + Util.GetOperatingSystemInformation() + ")"
579 + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString() 581 + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString()
580 + " PhysPrim:" + m_physicalPrim.ToString(); 582 + " PhysPrim:" + m_physicalPrim.ToString();
583 */
584
585 m_simulatorVersion = simulatorVersion + " (" + Util.GetRuntimeInformation() + ")";
581 586
582 try 587 try
583 { 588 {
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 5501679..1b7db7c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1970,5 +1970,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1970 return ret; 1970 return ret;
1971 } 1971 }
1972 1972
1973 public int osGetSimulatorMemory()
1974 {
1975 CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory");
1976 m_host.AddScriptLPS(1);
1977 long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
1978
1979 if (pws > Int32.MaxValue)
1980 return Int32.MaxValue;
1981 if (pws < 0)
1982 return 0;
1983
1984 return (int)pws;
1985 }
1973 } 1986 }
1974} 1987}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index 0b0dc00..580c354 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -163,5 +163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
163 key osGetMapTexture(); 163 key osGetMapTexture();
164 key osGetRegionMapTexture(string regionName); 164 key osGetRegionMapTexture(string regionName);
165 LSL_List osGetRegionStats(); 165 LSL_List osGetRegionStats();
166
167 int osGetSimulatorMemory();
166 } 168 }
167} 169}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index 519463e..2876ad6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -637,5 +637,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
637 { 637 {
638 return m_OSSL_Functions.osGetRegionStats(); 638 return m_OSSL_Functions.osGetRegionStats();
639 } 639 }
640
641 /// <summary>
642 /// Returns the amount of memory in use by the Simulator Daemon.
643 /// Amount in bytes - if >= 4GB, returns 4GB. (LSL is not 64-bit aware)
644 /// </summary>
645 /// <returns></returns>
646 public LSL_Integer osGetSimulatorMemory()
647 {
648 return m_OSSL_Functions.osGetSimulatorMemory();
649 }
640 } 650 }
641} 651}