mirror of
https://github.com/netbirdio/plugins.git
synced 2026-05-22 18:44:07 -07:00
security/acme-client: fix shell processes getting stuck, refs #3745
This deals with the following issues that occured while performing extensive testing: - acme.sh processes got stuck forever - PHP memory exhaustion - PHP processes with high CPU usage
This commit is contained in:
@@ -197,14 +197,14 @@ class LeUtils
|
||||
// This workaround ensures that the accurate return code
|
||||
// is reliably returned.
|
||||
fclose($proc_pipes[0]);
|
||||
$output = array();
|
||||
while (!feof($proc_pipes[1])) {
|
||||
$output[] = rtrim(fgets($proc_pipes[1], 1024), "\n");
|
||||
stream_set_blocking($proc_pipes[1], false);
|
||||
stream_set_blocking($proc_pipes[2], false);
|
||||
while (!feof($proc_pipes[1]) || !feof($proc_pipes[2])) {
|
||||
$stdout = fread($proc_pipes[1], 1024);
|
||||
$stderr = fread($proc_pipes[2], 1024);
|
||||
usleep(50000);
|
||||
}
|
||||
fclose($proc_pipes[1]);
|
||||
while (!feof($proc_pipes[2])) {
|
||||
$output[] = rtrim(fgets($proc_pipes[2], 1024), "\n");
|
||||
}
|
||||
fclose($proc_pipes[2]);
|
||||
|
||||
// Get exit code
|
||||
|
||||
Reference in New Issue
Block a user