Fixes for pages not responding to Curl and process timeouts

This commit is contained in:
DarkFeather 2016-09-27 10:34:16 -05:00
parent ffb3bf8f73
commit d78809e410
2 changed files with 8 additions and 2 deletions

View File

@ -7,6 +7,9 @@ using System.Collections.Generic;
namespace AniNIX.Shared {
public static class ExecuteCommand {
// Allow anyone using this class to modify the timeout at will.
public static int TimeOut = 5000;
/// <summary>
/// This method allows a CSharp app to execute a command on the OS.
@ -39,7 +42,10 @@ namespace AniNIX.Shared {
//Add input and read output.
proc.StandardInput.Write(input);
proc.StandardInput.Close();
proc.WaitForExit();
proc.WaitForExit(TimeOut);
if (!proc.HasExited) {
proc.Kill();
}
if (proc.ExitCode != 0) {
throw new Exception(String.Format("Failed to exit command with return code {0}",proc.ExitCode));
}

View File

@ -20,7 +20,7 @@ namespace AniNIX.Shared {
/// <param name="pageURL"> the webpage whose title we should get</param>
/// <returns> the webpage source </returns>
public static string GetPage(String pageURL) {
return ExecuteCommand.Run(String.Format("/usr/bin/curl -s {0}",pageURL));
return ExecuteCommand.Run(String.Format("/usr/bin/curl -s --max-time 5 {0}",pageURL));
}
/// <summary>