diff options
author | BlueWall | 2012-12-11 17:03:42 -0500 |
---|---|---|
committer | BlueWall | 2012-12-11 17:03:42 -0500 |
commit | b1849e7fde2c3d0e543c8855fd4a1fd85f23fe30 (patch) | |
tree | 80970225b78b8c605c29112e004a989af2185172 | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC_OLD-b1849e7fde2c3d0e543c8855fd4a1fd85f23fe30.zip opensim-SC_OLD-b1849e7fde2c3d0e543c8855fd4a1fd85f23fe30.tar.gz opensim-SC_OLD-b1849e7fde2c3d0e543c8855fd4a1fd85f23fe30.tar.bz2 opensim-SC_OLD-b1849e7fde2c3d0e543c8855fd4a1fd85f23fe30.tar.xz |
Hide some console output when initializing addin repository
We do this in OpenSim.exe to hide output when unmanaged dll are scanned by mono addins. Libomv has hard-coded path to "." for the openjpeg libraries, causing output to the console when they are scanned. We will cover this up for now, then look at getting libomv to look for the libs outside the "." later.
-rw-r--r-- | OpenSim/Framework/PluginManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Server/Base/ServerUtils.cs | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/OpenSim/Framework/PluginManager.cs b/OpenSim/Framework/PluginManager.cs index 23d5945..00263f5 100644 --- a/OpenSim/Framework/PluginManager.cs +++ b/OpenSim/Framework/PluginManager.cs | |||
@@ -92,6 +92,7 @@ namespace OpenSim.Framework | |||
92 | // Attempt to install the plugin disabled | 92 | // Attempt to install the plugin disabled |
93 | if (Install(ps, pack) == true) | 93 | if (Install(ps, pack) == true) |
94 | { | 94 | { |
95 | MainConsole.Instance.Output("Ignore the following error..."); | ||
95 | PluginRegistry.Update(ps); | 96 | PluginRegistry.Update(ps); |
96 | Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id); | 97 | Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id); |
97 | PluginRegistry.DisableAddin(addin.Id); | 98 | PluginRegistry.DisableAddin(addin.Id); |
@@ -479,6 +480,7 @@ namespace OpenSim.Framework | |||
479 | ConsoleProgressStatus ps = new ConsoleProgressStatus(false); | 480 | ConsoleProgressStatus ps = new ConsoleProgressStatus(false); |
480 | if (!AddinManager.AddinEngine.IsAddinLoaded(addin.Id)) | 481 | if (!AddinManager.AddinEngine.IsAddinLoaded(addin.Id)) |
481 | { | 482 | { |
483 | MainConsole.Instance.Output("Ignore the following error..."); | ||
482 | AddinManager.Registry.Rebuild(ps); | 484 | AddinManager.Registry.Rebuild(ps); |
483 | AddinManager.AddinEngine.LoadAddin(ps, addin.Id); | 485 | AddinManager.AddinEngine.LoadAddin(ps, addin.Id); |
484 | } | 486 | } |
diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 31b0446..d06d612 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs | |||
@@ -89,12 +89,39 @@ namespace OpenSim.Server.Base | |||
89 | Config = config; | 89 | Config = config; |
90 | 90 | ||
91 | Registry = new AddinRegistry(registryPath, "."); | 91 | Registry = new AddinRegistry(registryPath, "."); |
92 | suppress_console_output_(true); | ||
92 | AddinManager.Initialize(registryPath); | 93 | AddinManager.Initialize(registryPath); |
94 | suppress_console_output_(false); | ||
93 | AddinManager.Registry.Update(); | 95 | AddinManager.Registry.Update(); |
94 | CommandManager commandmanager = new CommandManager(Registry); | 96 | CommandManager commandmanager = new CommandManager(Registry); |
95 | AddinManager.AddExtensionNodeHandler("/Robust/Connector", OnExtensionChanged); | 97 | AddinManager.AddExtensionNodeHandler("/Robust/Connector", OnExtensionChanged); |
96 | } | 98 | } |
97 | 99 | ||
100 | private static TextWriter prev_console_; | ||
101 | // Temporarily masking the errors reported on start | ||
102 | // This is caused by a non-managed dll in the ./bin dir | ||
103 | // when the registry is initialized. The dll belongs to | ||
104 | // libomv, which has a hard-coded path to "." for pinvoke | ||
105 | // to load the openjpeg dll | ||
106 | // | ||
107 | // Will look for a way to fix, but for now this keeps the | ||
108 | // confusion to a minimum. this was copied from our region | ||
109 | // plugin loader, we have been doing this in there for a long time. | ||
110 | // | ||
111 | public void suppress_console_output_(bool save) | ||
112 | { | ||
113 | if (save) | ||
114 | { | ||
115 | prev_console_ = System.Console.Out; | ||
116 | System.Console.SetOut(new StreamWriter(Stream.Null)); | ||
117 | } | ||
118 | else | ||
119 | { | ||
120 | if (prev_console_ != null) | ||
121 | System.Console.SetOut(prev_console_); | ||
122 | } | ||
123 | } | ||
124 | |||
98 | private void OnExtensionChanged(object s, ExtensionNodeEventArgs args) | 125 | private void OnExtensionChanged(object s, ExtensionNodeEventArgs args) |
99 | { | 126 | { |
100 | IRobustConnector connector = (IRobustConnector)args.ExtensionObject; | 127 | IRobustConnector connector = (IRobustConnector)args.ExtensionObject; |