diff options
-rw-r--r-- | .nant/local.include | 38 | ||||
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | OpenSim/Data/MSSQL/MSSQLRegionData.cs | 1 | ||||
-rw-r--r-- | OpenSim/Framework/Util.cs | 22 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs | 51 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 4 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | 2 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs | 2 | ||||
-rw-r--r-- | OpenSim/Services/InventoryService/InventoryService.cs | 2 | ||||
-rw-r--r-- | README.txt | 3 | ||||
-rw-r--r-- | TESTING.txt | 1 | ||||
-rw-r--r-- | bin/OpenSim.ConsoleClient.ini.example | 13 | ||||
-rwxr-xr-x | nant-color | 3 |
16 files changed, 114 insertions, 55 deletions
diff --git a/.nant/local.include b/.nant/local.include index 510bdc6..58d1ad1 100644 --- a/.nant/local.include +++ b/.nant/local.include | |||
@@ -34,51 +34,55 @@ | |||
34 | <setenv name="MONO_THREADS_PER_CPU" value="100" /> | 34 | <setenv name="MONO_THREADS_PER_CPU" value="100" /> |
35 | 35 | ||
36 | <!-- Unit Test Assembly --> | 36 | <!-- Unit Test Assembly --> |
37 | <!-- if you want to add more unit tests it's important that you add | ||
38 | the assembly here as an exec, and you add the fail clause later. | ||
39 | This lets all the unit tests run and tells you if they fail at the | ||
40 | end, instead of stopping short --> | ||
37 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.tests"> | 41 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.tests"> |
38 | <arg value="./bin/OpenSim.Framework.Tests.dll" /> | 42 | <arg value="./bin/OpenSim.Framework.Tests.dll" /> |
39 | </exec> | 43 | </exec> |
40 | 44 | ||
41 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.communications.tests"> | 45 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.communications.tests"> |
42 | <arg value="./bin/OpenSim.Framework.Communications.Tests.dll" /> | 46 | <arg value="./bin/OpenSim.Framework.Communications.Tests.dll" /> |
43 | </exec> | 47 | </exec> |
44 | 48 | ||
45 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.servers.tests"> | 49 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.servers.tests"> |
46 | <arg value="./bin/OpenSim.Framework.Servers.Tests.dll" /> | 50 | <arg value="./bin/OpenSim.Framework.Servers.Tests.dll" /> |
47 | </exec> | 51 | </exec> |
48 | 52 | ||
49 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests"> | 53 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests"> |
50 | <arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" /> | 54 | <arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" /> |
51 | </exec> | 55 | </exec> |
52 | 56 | ||
53 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.scriptengine.tests"> | 57 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.scriptengine.tests"> |
54 | <arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" /> | 58 | <arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" /> |
55 | </exec> | 59 | </exec> |
56 | 60 | ||
57 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.coremodules.tests"> | 61 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.coremodules.tests"> |
58 | <arg value="./bin/OpenSim.Region.CoreModules.Tests.dll" /> | 62 | <arg value="./bin/OpenSim.Region.CoreModules.Tests.dll" /> |
59 | </exec> | 63 | </exec> |
60 | 64 | ||
61 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.framework.tests"> | 65 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.framework.tests"> |
62 | <arg value="./bin/OpenSim.Region.Framework.Tests.dll" /> | 66 | <arg value="./bin/OpenSim.Region.Framework.Tests.dll" /> |
63 | </exec> | 67 | </exec> |
64 | 68 | ||
65 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.sqlite.tests"> | 69 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.sqlite.tests"> |
66 | <arg value="./bin/OpenSim.Data.SQLite.Tests.dll" /> | 70 | <arg value="./bin/OpenSim.Data.SQLite.Tests.dll" /> |
67 | </exec> | 71 | </exec> |
68 | 72 | ||
69 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.mysql.tests"> | 73 | <exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.mysql.tests"> |
70 | <arg value="./bin/OpenSim.Data.MySQL.Tests.dll" /> | 74 | <arg value="./bin/OpenSim.Data.MySQL.Tests.dll" /> |
71 | </exec> | 75 | </exec> |
72 | 76 | ||
73 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.tests)==0}" /> | 77 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.communications.tests)==0}" /> |
74 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.communications.tests)==0}" /> | 78 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.tests)==0}" /> |
75 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.servers.tests)==0}" /> | 79 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.sqlite.tests)==0}" /> |
76 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" /> | 80 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.mysql.tests)==0}" /> |
77 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.scriptengine.tests)==0}" /> | 81 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.framework.tests)==0}" /> |
78 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" /> | 82 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" /> |
79 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.framework.tests)==0}" /> | 83 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" /> |
80 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.sqlite.tests)==0}" /> | 84 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.scriptengine.tests)==0}" /> |
81 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.mysql.tests)==0}" /> | 85 | <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.servers.tests)==0}" /> |
82 | 86 | ||
83 | </target> | 87 | </target> |
84 | 88 | ||
@@ -1,4 +1,14 @@ | |||
1 | NANT = $(shell if test "$$EMACS" = "t" ; then echo "nant"; else echo "./nant-color"; fi) | 1 | # hey, emacs! this is a -*- makefile -*- |
2 | # | ||
3 | # OpenSim makefile | ||
4 | # | ||
5 | |||
6 | RUBY = $(strip $(shell which ruby 2>/dev/null)) | ||
7 | ifeq ($(RUBY),) | ||
8 | NANT = nant | ||
9 | else | ||
10 | NANT = $(shell if test "$$EMACS" = "t" ; then echo "nant"; else echo "./nant-color"; fi) | ||
11 | endif | ||
2 | 12 | ||
3 | all: prebuild | 13 | all: prebuild |
4 | # @export PATH=/usr/local/bin:$(PATH) | 14 | # @export PATH=/usr/local/bin:$(PATH) |
@@ -14,7 +24,7 @@ prebuild: | |||
14 | 24 | ||
15 | clean: | 25 | clean: |
16 | # @export PATH=/usr/local/bin:$(PATH) | 26 | # @export PATH=/usr/local/bin:$(PATH) |
17 | ${NANT} clean | 27 | -${NANT} clean |
18 | 28 | ||
19 | test: prebuild | 29 | test: prebuild |
20 | ${NANT} test | 30 | ${NANT} test |
diff --git a/OpenSim/Data/MSSQL/MSSQLRegionData.cs b/OpenSim/Data/MSSQL/MSSQLRegionData.cs index c9e4bfe..adedcce 100644 --- a/OpenSim/Data/MSSQL/MSSQLRegionData.cs +++ b/OpenSim/Data/MSSQL/MSSQLRegionData.cs | |||
@@ -210,6 +210,7 @@ namespace OpenSim.Data.MSSQL | |||
210 | { | 210 | { |
211 | foreach (SceneObjectPart objectPart in allPrimsWithInventory) | 211 | foreach (SceneObjectPart objectPart in allPrimsWithInventory) |
212 | { | 212 | { |
213 | command.Parameters.Clear(); | ||
213 | command.Parameters.Add(_Database.CreateParameter("@PrimID", objectPart.UUID)); | 214 | command.Parameters.Add(_Database.CreateParameter("@PrimID", objectPart.UUID)); |
214 | 215 | ||
215 | List<TaskInventoryItem> inventory = new List<TaskInventoryItem>(); | 216 | List<TaskInventoryItem> inventory = new List<TaskInventoryItem>(); |
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index bbb0ae2..58344f3 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -1169,5 +1169,27 @@ namespace OpenSim.Framework | |||
1169 | 1169 | ||
1170 | return found.ToArray(); | 1170 | return found.ToArray(); |
1171 | } | 1171 | } |
1172 | |||
1173 | #region FireAndForget Threading Pattern | ||
1174 | |||
1175 | public static void FireAndForget(System.Threading.WaitCallback callback) | ||
1176 | { | ||
1177 | callback.BeginInvoke(null, EndFireAndForget, callback); | ||
1178 | } | ||
1179 | |||
1180 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj) | ||
1181 | { | ||
1182 | callback.BeginInvoke(obj, EndFireAndForget, callback); | ||
1183 | } | ||
1184 | |||
1185 | private static void EndFireAndForget(IAsyncResult ar) | ||
1186 | { | ||
1187 | System.Threading.WaitCallback callback = (System.Threading.WaitCallback)ar.AsyncState; | ||
1188 | |||
1189 | callback.EndInvoke(ar); | ||
1190 | ar.AsyncWaitHandle.Close(); | ||
1191 | } | ||
1192 | |||
1193 | #endregion FireAndForget Threading Pattern | ||
1172 | } | 1194 | } |
1173 | } | 1195 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index 4ee90e2..f73a7e3 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs | |||
@@ -199,6 +199,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
199 | InventoryFolderImpl inventoryFolder = null; | 199 | InventoryFolderImpl inventoryFolder = null; |
200 | InventoryItemBase inventoryItem = null; | 200 | InventoryItemBase inventoryItem = null; |
201 | 201 | ||
202 | /* | ||
202 | if (!m_userInfo.HasReceivedInventory) | 203 | if (!m_userInfo.HasReceivedInventory) |
203 | { | 204 | { |
204 | // If the region server has access to the user admin service (by which users are created), | 205 | // If the region server has access to the user admin service (by which users are created), |
@@ -220,13 +221,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
220 | m_userInfo.FetchInventory(); | 221 | m_userInfo.FetchInventory(); |
221 | } | 222 | } |
222 | } | 223 | } |
224 | */ | ||
223 | 225 | ||
224 | bool foundStar = false; | 226 | bool foundStar = false; |
225 | 227 | ||
226 | // Eliminate double slashes and any leading / on the path. This might be better done within InventoryFolderImpl | 228 | // Eliminate double slashes and any leading / on the path. This might be better done within InventoryFolderImpl |
227 | // itself (possibly at a small loss in efficiency). | 229 | // itself (possibly at a small loss in efficiency). |
228 | string[] components | 230 | string[] components |
229 | = m_invPath.Split(new string[] { InventoryFolderImpl.PATH_DELIMITER }, StringSplitOptions.RemoveEmptyEntries); | 231 | = m_invPath.Split( |
232 | new string[] { InventoryFolderImpl.PATH_DELIMITER }, StringSplitOptions.RemoveEmptyEntries); | ||
230 | 233 | ||
231 | int maxComponentIndex = components.Length - 1; | 234 | int maxComponentIndex = components.Length - 1; |
232 | 235 | ||
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs index d3ba5fe..c495e02 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs | |||
@@ -64,6 +64,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
64 | /// </value> | 64 | /// </value> |
65 | private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); | 65 | private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); |
66 | private Scene m_aScene; | 66 | private Scene m_aScene; |
67 | |||
67 | /// <value> | 68 | /// <value> |
68 | /// The comms manager we will use for all comms requests | 69 | /// The comms manager we will use for all comms requests |
69 | /// </value> | 70 | /// </value> |
@@ -110,8 +111,30 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
110 | InventoryArchiveSaved handlerInventoryArchiveSaved = OnInventoryArchiveSaved; | 111 | InventoryArchiveSaved handlerInventoryArchiveSaved = OnInventoryArchiveSaved; |
111 | if (handlerInventoryArchiveSaved != null) | 112 | if (handlerInventoryArchiveSaved != null) |
112 | handlerInventoryArchiveSaved(succeeded, userInfo, invPath, saveStream, reportedException); | 113 | handlerInventoryArchiveSaved(succeeded, userInfo, invPath, saveStream, reportedException); |
114 | } | ||
115 | |||
116 | public void ArchiveInventory(string firstName, string lastName, string invPath, Stream saveStream) | ||
117 | { | ||
118 | if (m_scenes.Count > 0) | ||
119 | { | ||
120 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
121 | |||
122 | if (userInfo != null) | ||
123 | new InventoryArchiveWriteRequest(this, userInfo, invPath, saveStream).Execute(); | ||
124 | } | ||
125 | } | ||
126 | |||
127 | public void ArchiveInventory(string firstName, string lastName, string invPath, string savePath) | ||
128 | { | ||
129 | if (m_scenes.Count > 0) | ||
130 | { | ||
131 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
132 | |||
133 | if (userInfo != null) | ||
134 | new InventoryArchiveWriteRequest(this, userInfo, invPath, savePath).Execute(); | ||
135 | } | ||
113 | } | 136 | } |
114 | 137 | ||
115 | public void DearchiveInventory(string firstName, string lastName, string invPath, Stream loadStream) | 138 | public void DearchiveInventory(string firstName, string lastName, string invPath, Stream loadStream) |
116 | { | 139 | { |
117 | if (m_scenes.Count > 0) | 140 | if (m_scenes.Count > 0) |
@@ -125,18 +148,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
125 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); | 148 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); |
126 | } | 149 | } |
127 | } | 150 | } |
128 | } | 151 | } |
129 | |||
130 | public void ArchiveInventory(string firstName, string lastName, string invPath, Stream saveStream) | ||
131 | { | ||
132 | if (m_scenes.Count > 0) | ||
133 | { | ||
134 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
135 | |||
136 | if (userInfo != null) | ||
137 | new InventoryArchiveWriteRequest(this, userInfo, invPath, saveStream).Execute(); | ||
138 | } | ||
139 | } | ||
140 | 152 | ||
141 | public void DearchiveInventory(string firstName, string lastName, string invPath, string loadPath) | 153 | public void DearchiveInventory(string firstName, string lastName, string invPath, string loadPath) |
142 | { | 154 | { |
@@ -151,18 +163,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
151 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); | 163 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); |
152 | } | 164 | } |
153 | } | 165 | } |
154 | } | 166 | } |
155 | |||
156 | public void ArchiveInventory(string firstName, string lastName, string invPath, string savePath) | ||
157 | { | ||
158 | if (m_scenes.Count > 0) | ||
159 | { | ||
160 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
161 | |||
162 | if (userInfo != null) | ||
163 | new InventoryArchiveWriteRequest(this, userInfo, invPath, savePath).Execute(); | ||
164 | } | ||
165 | } | ||
166 | 167 | ||
167 | /// <summary> | 168 | /// <summary> |
168 | /// Load inventory from an inventory file archive | 169 | /// Load inventory from an inventory file archive |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs index 621e9d2..7b4e374 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | |||
@@ -272,7 +272,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
272 | 272 | ||
273 | if (asset != null) | 273 | if (asset != null) |
274 | { | 274 | { |
275 | handler.BeginInvoke(id, sender, asset, null, null); | 275 | Util.FireAndForget(delegate { handler(id, sender, asset); }); |
276 | return true; | 276 | return true; |
277 | } | 277 | } |
278 | 278 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs index b13a116..fd3aaf4 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs | |||
@@ -211,7 +211,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
211 | 211 | ||
212 | if (asset != null) | 212 | if (asset != null) |
213 | { | 213 | { |
214 | handler.BeginInvoke(id, sender, asset, null, null); | 214 | Util.FireAndForget(delegate { handler(id, sender, asset); }); |
215 | return true; | 215 | return true; |
216 | } | 216 | } |
217 | 217 | ||
@@ -219,8 +219,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
219 | { | 219 | { |
220 | if ((a != null) && (m_Cache != null)) | 220 | if ((a != null) && (m_Cache != null)) |
221 | m_Cache.Cache(a); | 221 | m_Cache.Cache(a); |
222 | 222 | ||
223 | handler.BeginInvoke(assetID, s, a, null, null); | 223 | Util.FireAndForget(delegate { handler(assetID, s, a); }); |
224 | }); | 224 | }); |
225 | } | 225 | } |
226 | 226 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 55b100b..fddba86 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -457,6 +457,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
457 | 457 | ||
458 | void SendInventoryComplete(IAsyncResult iar) | 458 | void SendInventoryComplete(IAsyncResult iar) |
459 | { | 459 | { |
460 | SendInventoryDelegate d = (SendInventoryDelegate)iar.AsyncState; | ||
461 | d.EndInvoke(iar); | ||
460 | } | 462 | } |
461 | 463 | ||
462 | /// <summary> | 464 | /// <summary> |
@@ -622,6 +624,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
622 | 624 | ||
623 | private void PurgeFolderCompleted(IAsyncResult iar) | 625 | private void PurgeFolderCompleted(IAsyncResult iar) |
624 | { | 626 | { |
627 | PurgeFolderDelegate d = (PurgeFolderDelegate)iar.AsyncState; | ||
628 | d.EndInvoke(iar); | ||
625 | } | 629 | } |
626 | } | 630 | } |
627 | } | 631 | } |
diff --git a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs index d9748d4..ffc8e4c 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | |||
@@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors | |||
177 | } | 177 | } |
178 | else | 178 | else |
179 | { | 179 | { |
180 | handler.BeginInvoke(id, sender, asset, null, null); | 180 | Util.FireAndForget(delegate { handler(id, sender, asset); }); |
181 | } | 181 | } |
182 | 182 | ||
183 | return true; | 183 | return true; |
diff --git a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs index a2261ba..cef678d 100644 --- a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs | |||
@@ -461,6 +461,8 @@ namespace OpenSim.Services.Connectors | |||
461 | 461 | ||
462 | private void MoveItemsCompleted(IAsyncResult iar) | 462 | private void MoveItemsCompleted(IAsyncResult iar) |
463 | { | 463 | { |
464 | MoveItemsDelegate d = (MoveItemsDelegate)iar.AsyncState; | ||
465 | d.EndInvoke(iar); | ||
464 | } | 466 | } |
465 | 467 | ||
466 | public bool MoveItems(string userID, List<InventoryItemBase> items, UUID sessionID) | 468 | public bool MoveItems(string userID, List<InventoryItemBase> items, UUID sessionID) |
diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs index f04754b..b98e256 100644 --- a/OpenSim/Services/InventoryService/InventoryService.cs +++ b/OpenSim/Services/InventoryService/InventoryService.cs | |||
@@ -232,7 +232,7 @@ namespace OpenSim.Services.InventoryService | |||
232 | m_log.WarnFormat("[INVENTORY SERVICE]: User {0} inventory not available", userID); | 232 | m_log.WarnFormat("[INVENTORY SERVICE]: User {0} inventory not available", userID); |
233 | } | 233 | } |
234 | 234 | ||
235 | callback.BeginInvoke(folders, items, null, null); | 235 | Util.FireAndForget(delegate { callback(folders, items); }); |
236 | } | 236 | } |
237 | 237 | ||
238 | public InventoryCollection GetFolderContent(UUID userID, UUID folderID) | 238 | public InventoryCollection GetFolderContent(UUID userID, UUID folderID) |
@@ -1,7 +1,7 @@ | |||
1 | Welcome to OpenSim! | 1 | Welcome to OpenSim! |
2 | 2 | ||
3 | Version 0.6.x | 3 | Version 0.6.x |
4 | 4 | ||
5 | == OVERVIEW == | 5 | == OVERVIEW == |
6 | 6 | ||
7 | OpenSim is a BSD Licensed Open Source project to develop a functioning | 7 | OpenSim is a BSD Licensed Open Source project to develop a functioning |
@@ -90,4 +90,3 @@ project can always be found at http://opensimulator.org. | |||
90 | 90 | ||
91 | Thanks for trying OpenSim, we hope it is a pleasant experience. | 91 | Thanks for trying OpenSim, we hope it is a pleasant experience. |
92 | 92 | ||
93 | |||
diff --git a/TESTING.txt b/TESTING.txt index 94f5887..e0a7748 100644 --- a/TESTING.txt +++ b/TESTING.txt | |||
@@ -135,3 +135,4 @@ nunit-console2 OpenSim.Framework.Tests.dll (on linux) | |||
135 | nunit-console OpenSim.Framework.Tests.dll (on windows) | 135 | nunit-console OpenSim.Framework.Tests.dll (on windows) |
136 | 136 | ||
137 | For more information on testing contact the autor of this testing readme: Daedius Moskvitch ( daedius @@@@ daedius com) | 137 | For more information on testing contact the autor of this testing readme: Daedius Moskvitch ( daedius @@@@ daedius com) |
138 | |||
diff --git a/bin/OpenSim.ConsoleClient.ini.example b/bin/OpenSim.ConsoleClient.ini.example index beea7d8..5223d1d 100644 --- a/bin/OpenSim.ConsoleClient.ini.example +++ b/bin/OpenSim.ConsoleClient.ini.example | |||
@@ -1 +1,14 @@ | |||
1 | [Startup] | 1 | [Startup] |
2 | ; Set here or use the -user command-line switch | ||
3 | ;user = Test | ||
4 | |||
5 | ; Set here or use the -host command-line switch | ||
6 | ;host = localhost | ||
7 | |||
8 | ; Set here or use the -port command-line switch | ||
9 | ;port = 8003 | ||
10 | |||
11 | ; Set here or use the -pass command-line switch | ||
12 | ; Please be aware that this is not secure since the password is in the clear | ||
13 | ; we recommend the use of -pass wherever possible | ||
14 | ;pass = secret | ||
@@ -1,5 +1,4 @@ | |||
1 | #!/usr/bin/ruby | 1 | #!/usr/bin/env ruby |
2 | |||
3 | 2 | ||
4 | def main | 3 | def main |
5 | IO.popen("nant #{ARGV.join(' ')}") { |pipe| | 4 | IO.popen("nant #{ARGV.join(' ')}") { |pipe| |