From: Artur Kraev Date: Sun, 2 Nov 2014 21:24:49 +0000 (+0300) Subject: mod_managed: not crash when cannot remove shadow directory (this sometimes happens... X-Git-Tag: v1.4.14~2^2~61^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f3d089a998d52d07ff23110a86e0b57fd1b76c33;p=thirdparty%2Ffreeswitch.git mod_managed: not crash when cannot remove shadow directory (this sometimes happens when restarting from FS console) --- diff --git a/src/mod/languages/mod_managed/managed/Loader.cs b/src/mod/languages/mod_managed/managed/Loader.cs index c655c9c867..a3d48fd1d1 100644 --- a/src/mod/languages/mod_managed/managed/Loader.cs +++ b/src/mod/languages/mod_managed/managed/Loader.cs @@ -64,13 +64,23 @@ namespace FreeSWITCH { public static bool Load() { managedDir = Path.Combine(Native.freeswitch.SWITCH_GLOBAL_dirs.mod_dir, "managed"); shadowDir = Path.Combine(managedDir, "shadow"); - if (Directory.Exists(shadowDir)) { - Directory.Delete(shadowDir, true); + if (Directory.Exists(shadowDir)) + { + try + { + Directory.Delete(shadowDir, true); + } + catch (Exception ex) + { + Log.WriteLine(LogLevel.Warning, "Cannot delete shadow directory: {0}", ex); + } + Directory.CreateDirectory(shadowDir); } Log.WriteLine(LogLevel.Debug, "FreeSWITCH.Managed loader is starting with directory '{0}'.", managedDir); - if (!Directory.Exists(managedDir)) { + if (!Directory.Exists(managedDir)) + { Log.WriteLine(LogLevel.Error, "Managed directory not found: {0}", managedDir); return false; }