aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorBlueWall2012-12-11 17:03:42 -0500
committerBlueWall2012-12-11 17:03:42 -0500
commitb1849e7fde2c3d0e543c8855fd4a1fd85f23fe30 (patch)
tree80970225b78b8c605c29112e004a989af2185172
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-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.cs2
-rw-r--r--OpenSim/Server/Base/ServerUtils.cs27
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;