Re: [Mono-dev] Registry
Hello, We tried to make those work, and could not. That is why Mono's SHM support is getting deprecated, it works most of the time, when things go right. The problem is that things can go wrong, and they go wrong. There are a universe of problems, ranging from the home directory being on non native file systems that do not make guarantees, to service leaks, to stale data, to stale locks and so on. Miguel. On Thu, Oct 8, 2015 at 10:39 AM, Neale Ferguson wrote: > While this wouldn’t protect against “rogue” apps who want to trash things, > would using the existing mechanism but using the Linux locking primitives > (which are co-operative and not proscriptive) to serialize access to the > underlying files/directories be an option? > > > One option would be to write a backend that uses one of the various > configuration systems in Unix that use a separate process to arbitrate > access to the information. > > Perhaps you can use dconf. > > Since the registry lives in mscorlib, and this would bring a number of > dependencies , I recommend to make this a loadable plugin. > ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry
While this wouldn’t protect against “rogue” apps who want to trash things, would using the existing mechanism but using the Linux locking primitives (which are co-operative and not proscriptive) to serialize access to the underlying files/directories be an option? One option would be to write a backend that uses one of the various configuration systems in Unix that use a separate process to arbitrate access to the information. Perhaps you can use dconf. Since the registry lives in mscorlib, and this would bring a number of dependencies , I recommend to make this a loadable plugin. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry
Client wants to move from Windows to mono on Linux. Hi there, Are you trying to run "on mono" or do you mean on mono linux or mac? ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry
One option would be to write a backend that uses one of the various configuration systems in Unix that use a separate process to arbitrate access to the information. Perhaps you can use dconf. Since the registry lives in mscorlib, and this would bring a number of dependencies , I recommend to make this a loadable plugin. On Tue, Oct 6, 2015 at 5:47 PM, Neale Ferguson wrote: > We have a client who is testing the waters with porting some .NET based > applications to mono. However, a couple of these critical applications > rely on the windows registry. The implementation of registry-support in > mono is quite crude and not process-safe and this is holding them back. I > am looking for ideas as to improving this so that apps can share the > registry safely and efficiently. > > ___ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry
On 08.10.2015 10:44, psant...@codicesoftware.com wrote: Hi there, Are you trying to run "on mono" or do you mean on mono + linux or mac? Mono's registry implementation is using native Windows APIs under Windows, so the concurrency issues Neale was speaking about do not apply here. Robert pablo On 10/6/2015 23:47, Neale Ferguson wrote: We have a client who is testing the waters with porting some .NET based applications to mono. However, a couple of these critical applications rely on the windows registry. The implementation of registry-support in mono is quite crude and not process-safe and this is holding them back. I am looking for ideas as to improving this so that apps can share the registry safely and efficiently. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list . ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry
Hi there, Are you trying to run "on mono" or do you mean on mono + linux or mac? pablo On 10/6/2015 23:47, Neale Ferguson wrote: We have a client who is testing the waters with porting some .NET based applications to mono. However, a couple of these critical applications rely on the windows registry. The implementation of registry-support in mono is quite crude and not process-safe and this is holding them back. I am looking for ideas as to improving this so that apps can share the registry safely and efficiently. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list . ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Registry
We have a client who is testing the waters with porting some .NET based applications to mono. However, a couple of these critical applications rely on the windows registry. The implementation of registry-support in mono is quite crude and not process-safe and this is holding them back. I am looking for ideas as to improving this so that apps can share the registry safely and efficiently. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Registry question
It is not multi-process safe, you would need to ensure that through an external mean. On Thu, Aug 27, 2015 at 12:42 PM, Neale Ferguson wrote: > Is registry multi-process safe? How are registry transactions maintained > by Mono? Also, I assume the EventLog is just syslog on Linux. > > > Neale > > ___ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Registry question
Is registry multi-process safe? How are registry transactions maintained by Mono? Also, I assume the EventLog is just syslog on Linux. Neale ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Registry Bug still around?
Hi All, I've got the latest version of Mono, and it looks like the Registry bug is still around on Linux. I've created a test case which is attached to this email. Here's what I get while running it: [EMAIL PROTECTED] ~/workspace/monobugs $ mono -V Mono JIT compiler version 1.1.15, (C) 2002-2005 Novell, Inc and Contributors. www.mono-project.com TLS: normal GC:Included Boehm (with typed GC) SIGSEGV: normal Disabled: none [EMAIL PROTECTED] ~/workspace/monobugs $ mono regtest.exe Setting Values Clearing Names Unhandled Exception: System.InvalidCastException: Cannot cast from source type to destination type. in <0x0008a> Microsoft.Win32.UnixRegistryApi:DeleteValue (Microsoft.Win32.RegistryKey rkey, System.String value, Boolean throw_if_missing) in <0x00035> Microsoft.Win32.RegistryKey:DeleteValue (System.String value, Boolean shouldThrowWhenKeyMissing) in <0xf> Microsoft.Win32.RegistryKey:DeleteValue (System.String value) in (wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:DeleteValue (string) in <0x00120> RegBug:Main (System.String[] args) I know before this hadn't made it into the trunk, so I'm wondering if perhaps it still hasn't. Can anyone provide some insight into it? Thanks! -- Cory Foy http://www.cornetdesign.com using Microsoft.Win32; using System; public class RegBug { public static void Main(String[] args) { string subkey = @"Software\nunit.org\Nunit\2.4"; using(RegistryKey key = Registry.LocalMachine.CreateSubKey(subkey)) using(RegistryKey fooKey = key.CreateSubKey("foo")) { Console.WriteLine("Setting Values"); key.SetValue("X", 5); fooKey.SetValue("Y", 6); Console.WriteLine("Clearing Names"); foreach(string name in key.GetValueNames()) key.DeleteValue(name); Console.WriteLine("Clearing Subkeys"); foreach(string name in key.GetSubKeyNames()) key.DeleteSubKeyTree(name); } Console.WriteLine("All Clear"); } } ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list