diff options
-rw-r--r-- | CONTRIBUTORS.txt | 346 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/MySQLInventoryData.cs | 3 | ||||
-rw-r--r-- | OpenSim/Framework/Util.cs | 20 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 134 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 14 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 10 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 10 |
10 files changed, 337 insertions, 222 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 0d78928..08048f5 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt | |||
@@ -1,173 +1,173 @@ | |||
1 | The following people have contributed to OpenSim (Thank you | 1 | The following people have contributed to OpenSim (Thank you |
2 | for your effort!) | 2 | for your effort!) |
3 | 3 | ||
4 | Add your name in here if you have committed to OpenSim | 4 | Add 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) = |
7 | These folks represent the current core team for OpenSim, and are the | 7 | These folks represent the current core team for OpenSim, and are the |
8 | people that make the day to day of OpenSim happen. | 8 | people 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 = |
34 | These folks are alumns of the OpenSim core group, but are now | 34 | These folks are alumns of the OpenSim core group, but are now |
35 | currently not active. Their great contributions helped get us to | 35 | currently not active. Their great contributions helped get us to |
36 | where we are today. | 36 | where 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 = |
50 | These folks have contributed code patches to OpenSim to help make it | 50 | These folks have contributed code patches to OpenSim to help make it |
51 | what it is today. | 51 | what 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 | ||
148 | This software uses components from the following developers: | 148 | This 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 | ||
166 | Some plugins are based on Cable Beach | 166 | Some plugins are based on Cable Beach |
167 | Cable Beach is Copyright (c) 2008 Intel Corporation | 167 | Cable Beach is Copyright (c) 2008 Intel Corporation |
168 | see http://forge.opensimulator.org/gf/project/assetserver/ | 168 | see http://forge.opensimulator.org/gf/project/assetserver/ |
169 | 169 | ||
170 | In addition, we would like to thank: | 170 | In 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 b5e2872..58a0d77 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 2b5e632..e7ce2e0 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 |
@@ -4323,20 +4345,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4323 | protected virtual void RegisterLocalPacketHandlers() | 4345 | protected virtual void RegisterLocalPacketHandlers() |
4324 | { | 4346 | { |
4325 | AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); | 4347 | AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); |
4326 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate); | 4348 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false); |
4327 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect); | 4349 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false); |
4328 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached); | 4350 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false); |
4329 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate); | 4351 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false); |
4330 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); | 4352 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false); |
4331 | AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); | 4353 | AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest, false); |
4332 | AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest); | 4354 | AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest, false); |
4333 | AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest); | 4355 | AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest, false); |
4334 | AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); | 4356 | AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); |
4335 | AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); | 4357 | AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); |
4336 | AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); | 4358 | AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); |
4337 | AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); | 4359 | AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); |
4338 | AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); | 4360 | AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); |
4339 | AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage); | 4361 | AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage, false); |
4340 | AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); | 4362 | AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); |
4341 | AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); | 4363 | AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); |
4342 | AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); | 4364 | AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); |
@@ -4353,9 +4375,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4353 | AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); | 4375 | AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); |
4354 | AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); | 4376 | AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); |
4355 | AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); | 4377 | AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); |
4356 | AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun); | 4378 | AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun, false); |
4357 | AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); | 4379 | AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); |
4358 | AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation); | 4380 | AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation, false); |
4359 | AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); | 4381 | AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); |
4360 | AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); | 4382 | AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); |
4361 | AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); | 4383 | AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); |
@@ -4364,9 +4386,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4364 | AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); | 4386 | AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); |
4365 | AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); | 4387 | AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); |
4366 | AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); | 4388 | AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); |
4367 | AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle); | 4389 | AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle, false); |
4368 | AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause); | 4390 | AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause, false); |
4369 | AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume); | 4391 | AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume, false); |
4370 | AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); | 4392 | AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); |
4371 | AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); | 4393 | AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); |
4372 | AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); | 4394 | AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); |
@@ -4382,22 +4404,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4382 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); | 4404 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); |
4383 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); | 4405 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); |
4384 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); | 4406 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); |
4385 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab); | 4407 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); |
4386 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate); | 4408 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); |
4387 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); | 4409 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); |
4388 | AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart); | 4410 | AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart, false); |
4389 | AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate); | 4411 | AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate, false); |
4390 | AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop); | 4412 | AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop, false); |
4391 | AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription); | 4413 | AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription, false); |
4392 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName); | 4414 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false); |
4393 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions); | 4415 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false); |
4394 | AddLocalPacketHandler(PacketType.Undo, HandleUndo); | 4416 | AddLocalPacketHandler(PacketType.Undo, HandleUndo, false); |
4395 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); | 4417 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); |
4396 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily); | 4418 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false); |
4397 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); | 4419 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); |
4398 | AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes); | 4420 | AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes, false); |
4399 | AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction); | 4421 | AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction, false); |
4400 | AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial); | 4422 | AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial, false); |
4401 | AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); | 4423 | AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); |
4402 | AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); | 4424 | AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); |
4403 | AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); | 4425 | AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); |
@@ -4423,17 +4445,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4423 | AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); | 4445 | AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); |
4424 | AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); | 4446 | AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); |
4425 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); | 4447 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); |
4426 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest); | 4448 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false); |
4427 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest); | 4449 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false); |
4428 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest); | 4450 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false); |
4429 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); | 4451 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); |
4430 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); | 4452 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); |
4431 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest); | 4453 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); |
4432 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); | 4454 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); |
4433 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); | 4455 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false); |
4434 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest); | 4456 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); |
4435 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate); | 4457 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); |
4436 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest); | 4458 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); |
4437 | AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); | 4459 | AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); |
4438 | AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); | 4460 | AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); |
4439 | AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); | 4461 | AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); |
@@ -4447,7 +4469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4447 | AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); | 4469 | AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); |
4448 | AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); | 4470 | AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); |
4449 | AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); | 4471 | AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); |
4450 | AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo); | 4472 | AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo, false); |
4451 | AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); | 4473 | AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); |
4452 | AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); | 4474 | AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); |
4453 | AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); | 4475 | AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); |
@@ -4462,13 +4484,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4462 | AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); | 4484 | AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); |
4463 | AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); | 4485 | AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); |
4464 | AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); | 4486 | AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); |
4465 | AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV); | 4487 | AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV, false); |
4466 | AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); | 4488 | AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); |
4467 | AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest); | 4489 | AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest, false); |
4468 | AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort); | 4490 | AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false); |
4469 | AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest); | 4491 | AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false); |
4470 | AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); | 4492 | AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); |
4471 | AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth); | 4493 | AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false); |
4472 | AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); | 4494 | AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); |
4473 | AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); | 4495 | AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); |
4474 | AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); | 4496 | AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); |
@@ -15740,6 +15762,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
15740 | } | 15762 | } |
15741 | #endregion | 15763 | #endregion |
15742 | } | 15764 | } |
15765 | |||
15766 | public struct PacketProcessor | ||
15767 | { | ||
15768 | public PacketMethod method; | ||
15769 | public bool Async; | ||
15770 | } | ||
15771 | public class AsyncPacketProcess | ||
15772 | { | ||
15773 | public bool result = false; | ||
15774 | public readonly LLClientView ClientView = null; | ||
15775 | public readonly Packet Pack = null; | ||
15776 | public readonly PacketMethod Method = null; | ||
15777 | public AsyncPacketProcess(LLClientView pClientview, PacketMethod pMethod, Packet pPack) | ||
15778 | { | ||
15779 | ClientView = pClientview; | ||
15780 | Method = pMethod; | ||
15781 | Pack = pPack; | ||
15782 | } | ||
15783 | } | ||
15784 | |||
15743 | #endregion | 15785 | #endregion |
15744 | 15786 | ||
15745 | public static OSD BuildEvent(string eventName, OSD eventBody) | 15787 | 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 85961b9..4d9f58f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -964,7 +964,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
964 | } | 964 | } |
965 | 965 | ||
966 | if (packetInbox.Dequeue(100, ref incomingPacket)) | 966 | if (packetInbox.Dequeue(100, ref incomingPacket)) |
967 | Util.FireAndForget(ProcessInPacket, incomingPacket); | 967 | ProcessInPacket(incomingPacket);//, incomingPacket); Util.FireAndForget(ProcessInPacket, incomingPacket); |
968 | } | 968 | } |
969 | catch (Exception ex) | 969 | catch (Exception ex) |
970 | { | 970 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 1b275b0..104d22b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -576,10 +576,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
576 | 576 | ||
577 | StatsReporter.SetObjectCapacity(objectCapacity); | 577 | StatsReporter.SetObjectCapacity(objectCapacity); |
578 | 578 | ||
579 | // Old | ||
580 | /* | ||
579 | m_simulatorVersion = simulatorVersion | 581 | m_simulatorVersion = simulatorVersion |
580 | + " (OS " + Util.GetOperatingSystemInformation() + ")" | 582 | + " (OS " + Util.GetOperatingSystemInformation() + ")" |
581 | + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString() | 583 | + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString() |
582 | + " PhysPrim:" + m_physicalPrim.ToString(); | 584 | + " PhysPrim:" + m_physicalPrim.ToString(); |
585 | */ | ||
586 | |||
587 | m_simulatorVersion = simulatorVersion + " (" + Util.GetRuntimeInformation() + ")"; | ||
583 | 588 | ||
584 | try | 589 | try |
585 | { | 590 | { |
@@ -915,7 +920,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
915 | if (showDialog) | 920 | if (showDialog) |
916 | { | 921 | { |
917 | m_dialogModule.SendNotificationToUsersInRegion( | 922 | m_dialogModule.SendNotificationToUsersInRegion( |
918 | UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " + (seconds / 60).ToString() + " Minutes"); | 923 | UUID.Random(), String.Empty, RegionInfo.RegionName + String.Format(": Restarting in {0} Minutes", (int)(seconds / 60.0))); |
919 | } | 924 | } |
920 | } | 925 | } |
921 | } | 926 | } |
@@ -946,6 +951,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
946 | // This causes the region to restart immediatley. | 951 | // This causes the region to restart immediatley. |
947 | public void RestartNow() | 952 | public void RestartNow() |
948 | { | 953 | { |
954 | IConfig startupConfig = m_config.Configs["Startup"]; | ||
955 | if (startupConfig != null) | ||
956 | { | ||
957 | if (startupConfig.GetBoolean("InworldRestartShutsDown", false)) | ||
958 | { | ||
959 | MainConsole.Instance.RunCommand("shutdown"); | ||
960 | return; | ||
961 | } | ||
962 | } | ||
963 | |||
949 | if (PhysicsScene != null) | 964 | if (PhysicsScene != null) |
950 | { | 965 | { |
951 | PhysicsScene.Dispose(); | 966 | PhysicsScene.Dispose(); |
@@ -953,6 +968,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
953 | 968 | ||
954 | m_log.Error("[REGION]: Closing"); | 969 | m_log.Error("[REGION]: Closing"); |
955 | Close(); | 970 | Close(); |
971 | |||
956 | m_log.Error("[REGION]: Firing Region Restart Message"); | 972 | m_log.Error("[REGION]: Firing Region Restart Message"); |
957 | base.Restart(0); | 973 | base.Restart(0); |
958 | } | 974 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 836f276..d7480e6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -1973,5 +1973,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1973 | } | 1973 | } |
1974 | return ret; | 1974 | return ret; |
1975 | } | 1975 | } |
1976 | |||
1977 | public int osGetSimulatorMemory() | ||
1978 | { | ||
1979 | CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory"); | ||
1980 | m_host.AddScriptLPS(1); | ||
1981 | long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64; | ||
1982 | |||
1983 | if (pws > Int32.MaxValue) | ||
1984 | return Int32.MaxValue; | ||
1985 | if (pws < 0) | ||
1986 | return 0; | ||
1987 | |||
1988 | return (int)pws; | ||
1989 | } | ||
1976 | } | 1990 | } |
1977 | } | 1991 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index c3bf7d2..d943b59 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 | } |
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 04cf8e8..af9632e 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -107,7 +107,15 @@ | |||
107 | ; Combine all contiguous regions into one large region | 107 | ; Combine all contiguous regions into one large region |
108 | ; Order your regions from South to North, West to East in your regions.ini and then set this to true | 108 | ; Order your regions from South to North, West to East in your regions.ini and then set this to true |
109 | ; Warning! Don't use this with regions that have existing content!, This will likely break them | 109 | ; Warning! Don't use this with regions that have existing content!, This will likely break them |
110 | CombineContiguousRegions=false | 110 | CombineContiguousRegions = false |
111 | |||
112 | ; If you have only one region in an instance, or to avoid the many bugs | ||
113 | ; that you can trigger in modules by restarting a region, set this to | ||
114 | ; true to make the entire instance exit instead of restarting the region. | ||
115 | ; This is meant to be used on systems where some external system like | ||
116 | ; Monit will restart any instance that exits, thereby making the shutdown | ||
117 | ; into a restart. | ||
118 | ;InworldRestartShutsDown = false | ||
111 | 119 | ||
112 | ; ## | 120 | ; ## |
113 | ; ## STORAGE | 121 | ; ## STORAGE |