[Opensim-dev] Signal Handling
Melanie
melanie at t-data.com
Mon Nov 7 23:51:31 UTC 2011
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
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
More information about the Opensim-dev
mailing list