Commit graph

57 commits

Author SHA1 Message Date
Mike Dickson
580ffb5b6a
Feature/project restructure (#88)
Some checks are pending
CodeQL / Analyze (push) Waiting to run
dotnet package / build (8.0.x) (push) Waiting to run
dotnet package / build (9.0.x) (push) Waiting to run
* First pass to allow bulding different build artifact types (libraries, exes, web apps, etc) from the same tree.  Each project is seperated physically and can have a local obj and bin directory wehen building.  We assemble a release using dotnet publish.

This still needs a few changes and  updates for compilation.  I want to get the structural changes made however and committed locally at least.

* Rename some Assembly attribute files to Addin.cs and strip them down to just plugin info so we can use generated Assembly information.    A few additions to csproj dependencies to get things to compile.

* Cleanup Directory.build.props. Make it reflect using the standard directories for output and publish to assemble a release.

* Restructure Projects so they are no longer nested (no need to remove files from compilation) and there can be project types in the solution that use a different SDK.  We need the last bit in order to do ASP.NET in the same solution tree.  Goal is to be able to dotnet publish and get useable output.

* Move OpenSim.sln to OpenSim.Server.RegionServer so the Server instances have similar naming (MoneyServer and RobustServer).

* Added a Data directory for each of the *.Server.* packages and put Server specific configuration here.   Added a rule to csproj to install the configuration into the bin directory on a build.   There are now OpenSim.Server.{RegionServer|RobustServer|MoneyServer} executables and if publish is used a platform specific binary will be built.  Next step from this is Docker files to run each of the server components.

* More changes to get libs to resolve cleanly while we are in transition from mono addins.

* Move projects under Source in solution tree.

* Update nuget packages to address a vulnerability and pick up updates.

* Add metadata to create NuGet Package for EF Core Data Models.

* Include dlls we just carry in bin in the output directory when building.

* Bump version.  Some changes to not publish test components.
2024-10-16 15:19:52 -04:00
Mike Dickson
230a87d5c9 Remove references to System.Web. Thats a .NET Framework thing. 2024-04-30 21:00:40 -04:00
Mike Dickson
f43ce8f71f Bump to DotNet Core 8.0 to match upstream. They are still disabling dependency generation and checking which disables a big security element of the framework. More on that in Tranquillity. 2024-04-23 17:37:15 -04:00
Mike Dickson
1f20ced671 Catch up merge with 0.9.3.0. This is just simply a merge of core into the mono tree. It lacks the refactoring thats in the Tranquillity work and hence has some of the issues that net6 on core has. But perhaps it will be a step in the direction of a more architecturally sound version. 2024-04-22 12:27:14 -04:00
UbitUmarov
c0a2569b32 in fact there is no thread.abort 2024-04-11 04:29:01 +01:00
UbitUmarov
c981f3c448 avoid a possible null ref 2024-04-11 02:42:05 +01:00
UbitUmarov
79ac5c7f54 remove some obsolete code 2023-11-29 12:17:08 +00:00
UbitUmarov
bd2ea28ede missing change 2023-03-07 14:36:13 +00:00
UbitUmarov
ec39f85a7a cosmetics 2023-03-07 14:33:42 +00:00
Mike Dickson
84dad27997 Merge -maint down to develop for testing. We're using the static AssemblyInfo.cs again instead of the generated values. Hopefully this helps to address plugin loading. 2023-01-08 16:10:10 -05:00
Mike Dickson
0d1ce09286 Bavl merge develop into addins branch 2022-11-07 11:41:04 -05:00
Mike Dickson
631d0aee00 Remove Ionic.Zip.dll, libzlib.net and log4net.dll from bin and instead pull from Nuget a replacement version that is also compatible with net6. The Log4Net change is especially important because we want to use the logging interfaces in dotnet but wont be able to switch everything over day one. So we'll use the log4net logging provider and we can tackle it in chunks. 2022-11-01 16:11:24 -04:00
UbitUmarov
ac8c69ba1a use some c#9 style sugar plus cosmetics 2022-10-03 14:33:20 +01:00
UbitUmarov
ea83284c87 avoid null ref 2022-10-02 23:45:57 +01:00
UbitUmarov
2346af0715 smartThreadPool changes 2022-10-02 12:03:44 +01:00
mdickson
4f61fa7771 Merge upstream through 2/23/2022 2022-02-23 12:56:09 -05:00
UbitUmarov
b022ae0898 cosmetics 2021-11-21 02:20:59 +00:00
UbitUmarov
a4bd8a91c5 cosmetics 2021-11-20 01:58:08 +00:00
UbitUmarov
1e4799604f add suspendflow option to workmanager startthread 2021-09-07 02:51:08 +01:00
UbitUmarov
1e1ec44707 smartthreadpool: do not start a thread before register it 2021-09-03 14:54:54 +01:00
UbitUmarov
94d1cf1205 smartthreadpool: replace its locked dictionary 2021-09-03 14:36:57 +01:00
mdicvkson
1632890cd2 Try-convert on projects. Cleaned up the xml proj definitions and normalized things so its fully compatible with current msbuild. 2021-08-31 14:07:39 -04:00
mdicvkson
cdeb5c44ce Don't enable unsafe code unless it's absolutely needed. 6 projects use it and that list could be further pared down with some careful rewrites of some code. But this is a start. 2021-06-09 10:24:00 -04:00
mdicvkson
d174ba5d22 Low hanging fruit. Remove all the AssemblyInfo.cs files for those projects that don't use Mono.Addins. We'll let the build system generate AssemblyInfo.cs from project metadata. 2021-05-16 13:23:22 -04:00
Mike Dickson
ff1c1a700a Put the AssemblyInfo.cs files back for now. The automatic generation in msbuild doesn't coexist nicely with Mono.Addins. We can revisit when/if we make Addins go away. 2021-05-15 20:30:16 -04:00
mdicvkson
c59e9a26e8 First pass changes to move to msbuild format 2021-05-15 12:23:16 -04:00
UbitUmarov
d525286b0f smartthreadpool: do informcomleted under locks 2021-01-18 18:18:30 +00:00
UbitUmarov
1db6a541bd more changes to smartthreadpool 2021-01-13 16:23:49 +00:00
UbitUmarov
d72f19111c smartthreadpool: place a global throttle on threads creation if pool as less than min number of threads ( 20/s versus .net 1/s in all cases) 2021-01-02 12:38:25 +00:00
UbitUmarov
4b7502c1dc smartthreadpool: remove workitems priority. Its lack of fairness could cause issues hard to debug if we tried to use it (we don't) (runprebuild) 2020-12-31 14:29:36 +00:00
UbitUmarov
b61df051db smartthreadpool: suport callback delegates with no return value (WaitCallBack), use it on our fireandforget (other places later) 2020-12-31 13:04:44 +00:00
UbitUmarov
960a0fa360 smartthreadpool: add pool option SuppressFlow and test it on main smart?? pool (may go bad) 2020-12-31 02:46:38 +00:00
UbitUmarov
0389c02fd5 smartthreadpool: ofc missed the relevant file 2020-12-31 02:01:39 +00:00
UbitUmarov
923d6437b8 smartthreadpool: replace thread context code to use ExecutionContext 2020-12-31 01:57:22 +00:00
UbitUmarov
64fd819b81 still some windows code 2020-12-30 22:07:42 +00:00
UbitUmarov
09933dc589 smartthreadpool: replace custom linkedlist based quueue by .net queue 2020-12-30 14:43:52 +00:00
UbitUmarov
b667bff8bb smartthreadpool: httpcontext will be gone (we dont use it) 2020-12-30 11:53:46 +00:00
UbitUmarov
4ab792cd13 smartthreadpool: remove old windows(like CE) support, remove tabs.. (do runprebuild) 2020-12-30 11:38:18 +00:00
UbitUmarov
592b94d142 some changes on Dispose 2020-08-09 00:20:50 +01:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov
ba7904a3a8 a few more changes on potencial mem issues 2016-11-18 00:12:09 +00:00
UbitUmarov
52a80f1742 workaround potencial memory leak 2016-08-22 05:47:19 +01:00
UbitUmarov
222a5b655f workaround potencial memory leak 2016-08-22 04:13:05 +01:00
Roger Kirkman
97a471cb35 Fix crash due to setting Thread.name after thread start.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2016-05-12 17:42:42 -07:00
BlueWall
96a2449122 Undo "Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.""
Fix for break in next commit

This reverts commit 376fab1402.
2014-09-17 20:03:54 -04:00
BlueWall
376fab1402 Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects."
This reverts commit af286d5fcb.
Issue with Jenkins builds
2014-09-17 18:11:41 -04:00
BlueWall
af286d5fcb Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects. 2014-09-17 17:56:10 -04:00
Justin Clark-Casey (justincc)
854dcd1abd Fix SmartThreadPool line endings in recent update from dos to unix 2013-05-01 23:00:46 +01:00
Justin Clark-Casey (justincc)
81a90e30c6 Add in-code exaplanation for the change in cancellation signalling in STP 2.2.3. Remove left in Console.WriteLine accidentally inserted in recent 206fb306 2013-05-01 19:29:46 +01:00
Justin Clark-Casey (justincc)
206fb306a7 Update SmartThreadPool to latest version 2.2.3 with a major and minor change.
SmartThreadPool code comes from http://www.codeproject.com/Articles/7933/Smart-Thread-Pool
This version implements thread abort (via WorkItem.Cancel(true)), threadpool naming, max thread stack, etc. so we no longer need to manually patch those.
However, two changes have been made to stock 2.2.3.
Major change: WorkItem.Cancel(bool abortExecution) in our version does not succeed if the work item was in progress and thread abort was not specified.
This is to match previous behaviour where we handle co-operative termination via another mechanism rather than checking WorkItem.IsCanceled.
Minor change: Did not add STP's StopWatch implementation as this is only used WinCE and Silverlight and causes a build clash with System.Diagnostics.StopWatch
The reason for updating is to see if this improves http://opensimulator.org/mantis/view.php?id=6557 and http://opensimulator.org/mantis/view.php?id=6586
2013-05-01 19:01:43 +01:00