Browse Source

Merge pull request #45157 from madmiraal/fix-44514

Raise SIGKILL instead of CRASH_NOW in child process when fork fails
Rémi Verschelde 4 years ago
parent
commit
59495adb7c
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/unix/os_unix.cpp

+ 4 - 2
drivers/unix/os_unix.cpp

@@ -313,7 +313,8 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, St
 
 		execvp(p_path.utf8().get_data(), &args[0]);
 		// The execvp() function only returns if an error occurs.
-		CRASH_NOW_MSG("Could not create child process: " + p_path);
+		ERR_PRINT("Could not create child process: " + p_path);
+		raise(SIGKILL);
 	}
 
 	int status;
@@ -354,7 +355,8 @@ Error OS_Unix::create_process(const String &p_path, const List<String> &p_argume
 
 		execvp(p_path.utf8().get_data(), &args[0]);
 		// The execvp() function only returns if an error occurs.
-		CRASH_NOW_MSG("Could not create child process: " + p_path);
+		ERR_PRINT("Could not create child process: " + p_path);
+		raise(SIGKILL);
 	}
 
 	if (r_child_id) {