You should Mantis it and then maybe post the Mantis link here. I for one might be interested in signals processing, like proper SIGTERM and maybe SIGHUP.
Melanie On 08/11/2011 00:31, Justin Clark-Casey wrote: > Hi Rory. I think most people currently achieve this kind of thing via the > RemoteAdmin interface [1]. However, I don't > personally have any objection to having POSIX handling code in OpenSim if > that's useful to people. > > The best place for such a thing could be a separate > OpenSim.ApplicationPlugins.PosixController package (or similar) > rather than mixing it in with OpenSim.cs. > > Things such as #if and #endif do exist in C# [2]. To be honest, I don't > think you need to detect Windows as long as it > does compile under Windows - one can include the mono.posix.dll in OpenSim > directly if necessary. And some Windows > environments (e.g. Cygwin) do provide POSIX handling so it might work there. > > If you want to submit a patch please create an account on Mantis [3] and post > it there, putting it into the "Patch > included" state. As I would classify this as a feature, we will need you to > sign and submit a contributor's agreement > [4]. Thanks. > > [1] http://opensimulator.org/wiki/RemoteAdmin > [2] http://stackoverflow.com/questions/5159657/isolate-mono-specific-code > [3] http://opensimulator.org/mantis. > [4] http://opensimulator.org/wiki/Contributions_Policy > > On 07/11/11 15:50, Rory Slegtenhorst wrote: >> Dear List, >> >> My very first post in the dev mailing list, as I am going to spend much more >> time in my personal OpenSim. >> >> I have written some code quite a while back and wanted to share my thoughts >> and start a discussion about it. >> >> *Signal Handling* >> Currently, OpenSim services do NOT support POSIX signal handling when POSIX >> is available. This support is available >> on pretty much any *nix platform including MacOS X. Windows does NOT support >> POSIX period. >> >> In Mono, POSIX signal handling can be easily accomplished using the >> mono.posix.dll. >> >> I have currently implemented nothing more but the TERM signal, to ensure the >> services are properly stopped, instead of >> simply killed on the spot. This means that the service actually goes through >> the shutdown procedure (if any). >> The next goal would be to implement HUP to reload the service. >> >> My current problem, is that the code is just there. No ifdef statements, >> nothing. >> I simply lack the knowledge in .NET/Mono to exclude the code from an >> environment that does not include posix. >> Some pointers in the right direction would be much appreciated. >> >> *Discussion* >> When creating services, there must be an easy way to start/stop them. >> Especially on *nix this comes in handy. >> Shoving the word "exit" or "shutdown" into the service cli is just not >> working all the time and is error prone. >> >> Adding POSIX signal handling would be considered "standard" in such >> services. The fact that MS Windows does not >> support POSIX signals is simply disregarded. The equivalent on Windows would >> be to have a service binary that runs >> the OpenSim services (I think that already exists). >> >> There aren't that many other "standard" solutions to the same problem, and >> although signal handling wouldn't work on >> ONE platform (ONE being Windows), it is guaranteed to work on ALL others >> (ALL being the *nix ones lol). >> >> So to start the discussion, here are some questions: >> 1. Is there any interest in this code? >> With this I mean: would we want POSIX signal handling or will we try to >> develop a different way to solve the same problem? >> 2. If there is any interest, who do I send my patch to? >> >> With kind regards, >> Rory Slegtenhorst >> rory dot slegtenhorst at gmail dot com >> >> >> >> _______________________________________________ >> Opensim-dev mailing list >> [email protected] >> https://lists.berlios.de/mailman/listinfo/opensim-dev > > _______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
