/// <summary>
 /// シグナルハンドラーの設定
 /// </summary>
 /// <param name="handler">シグナルハンドラー</param>
 /// <param name="value">設定シグナル値</param>
 /// <returns></returns>
 public bool SetSignal(EventHandler handler)
 {
     if (m_platform == ExitSignal_Platform.Linux || m_platform == ExitSignal_Platform.Mac)
     {
         // Linux用シグナルハンドラーの設定
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGHUP) == (Int32)SignalEnums.LINUX_SIGHUP)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGHUP);
         }
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGINT) == (Int32)SignalEnums.LINUX_SIGINT)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGINT);
         }
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGKILL) == (Int32)SignalEnums.LINUX_SIGKILL)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGKILL);
         }
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGPIPE) == (Int32)SignalEnums.LINUX_SIGPIPE)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGPIPE);
         }
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGQUIT) == (Int32)SignalEnums.LINUX_SIGQUIT)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGQUIT);
         }
         if ((m_linuxSignals & (Int32)SignalEnums.LINUX_SIGTERM) == (Int32)SignalEnums.LINUX_SIGTERM)
         {
             m_platformExitSignal.SetSignal(handler, (Int32)Signal.SIGTERM);
         }
         return(true);
     }
     else if (m_platform == ExitSignal_Platform.Windows)
     {
         // Windows用シグナルハンドラーの設定
         return(m_platformExitSignal.SetSignal(handler, -1));
     }
     else
     {
         // 知らないプラットフォーム
         Debug.Assert(false);
         return(false);
     }
 }