Shell\Command: Better walltime fallback

Previously, it assumed that the only way times could be overridden is to
reduce the limits - which isn't the case for video transcoding.

Bug: T178314
Change-Id: I492a44f280a36ee666e9963788caac2bbc6bc6f3
This commit is contained in:
Max Semenik 2017-10-16 15:30:49 -07:00 committed by Legoktm
parent 573b73810c
commit 945f8870d3

View file

@ -135,6 +135,11 @@ class Command {
* @return $this
*/
public function limits( array $limits ) {
if ( !isset( $limits['walltime'] ) && isset( $limits['time'] ) ) {
// Emulate the behavior of old wfShellExec() where walltime fell back on time
// if the latter was overridden and the former wasn't
$limits['walltime'] = $limits['time'];
}
$this->limits = $limits + $this->limits;
return $this;
@ -227,8 +232,6 @@ class Command {
if ( is_executable( '/bin/bash' ) ) {
$time = intval( $this->limits['time'] );
$wallTime = intval( $this->limits['walltime'] );
// for b/c, wall time falls back to time
$wallTime = min( $time, $wallTime );
$mem = intval( $this->limits['memory'] );
$filesize = intval( $this->limits['filesize'] );