* Run the mysql client for the given server info
*
* @param array $info
- * @param string|false The DB name, or false to use the main wiki DB
+ * @param string|false $dbName The DB name, or false to use the main wiki DB
*
- * @return The desired exit status
+ * @return int The desired exit status
*/
private function runMysql( $info, $dbName ) {
// Write the password to an option file to avoid disclosing it to other
$args = array_merge( $args, $this->mArgs );
+ // Ignore SIGINT if possible, otherwise the wrapper terminates when the user presses
+ // ctrl-C to kill a query.
+ if ( function_exists( 'pcntl_signal' ) ) {
+ pcntl_signal( SIGINT, SIG_IGN );
+ }
+
$pipes = [];
$proc = proc_open( Shell::escape( $args ), $desc, $pipes );
if ( $proc === false ) {