Index: src/wp-includes/load.php
===================================================================
--- src/wp-includes/load.php	(revision 7016ad5a784a9c8905a0bae08fa16df64a08fc60)
+++ src/wp-includes/load.php	(date 1587502524467)
@@ -172,11 +172,6 @@
 /**
  * Die with a maintenance message when conditions are met.
  *
- * Checks for a file in the WordPress root directory named ".maintenance".
- * This file will contain the variable $upgrading, set to the time the file
- * was created. If the file was created less than 10 minutes ago, WordPress
- * enters maintenance mode and displays a message.
- *
  * The default message can be replaced by using a drop-in (maintenance.php in
  * the wp-content directory).
  *
@@ -186,32 +181,8 @@
  * @global int $upgrading the unix timestamp marking when upgrading WordPress began.
  */
 function wp_maintenance() {
-	if ( ! file_exists( ABSPATH . '.maintenance' ) || wp_installing() ) {
-		return;
-	}
-
-	global $upgrading;
-
-	require ABSPATH . '.maintenance';
-	// If the $upgrading timestamp is older than 10 minutes, don't die.
-	if ( ( time() - $upgrading ) >= 600 ) {
-		return;
-	}
-
-	/**
-	 * Filters whether to enable maintenance mode.
-	 *
-	 * This filter runs before it can be used by plugins. It is designed for
-	 * non-web runtimes. If this filter returns true, maintenance mode will be
-	 * active and the request will end. If false, the request will be allowed to
-	 * continue processing even if maintenance mode should be active.
-	 *
-	 * @since 4.6.0
-	 *
-	 * @param bool $enable_checks Whether to enable maintenance mode. Default true.
-	 * @param int  $upgrading     The timestamp set in the .maintenance file.
-	 */
-	if ( ! apply_filters( 'enable_maintenance_mode', true, $upgrading ) ) {
+	// Return if maintenance mode is disabled.
+	if ( ! wp_in_maintenance_mode() ) {
 		return;
 	}
 
@@ -275,6 +246,51 @@
 	return $r;
 }
 
+/**
+ * Check if maintenance mode is enabled.
+ *
+ * Checks for a file in the WordPress root directory named ".maintenance".
+ * This file will contain the variable $upgrading, set to the time the file
+ * was created. If the file was created less than 10 minutes ago, WordPress
+ * is in maintenance mode.
+ *
+ * @since 5.5.0
+ *
+ * @return bool
+ */
+function wp_in_maintenance_mode() {
+	if ( ! file_exists( ABSPATH . '.maintenance' ) || wp_installing() ) {
+		return false;
+	}
+
+	global $upgrading;
+
+	require ABSPATH . '.maintenance';
+	// If the $upgrading timestamp is older than 10 minutes, consider maintenance over.
+	if ( ( time() - $upgrading ) >= 600 ) {
+		return false;
+	}
+
+	/**
+	 * Filters whether to enable maintenance mode.
+	 *
+	 * This filter runs before it can be used by plugins. It is designed for
+	 * non-web runtimes. If this filter returns true, maintenance mode will be
+	 * active and the request will end. If false, the request will be allowed to
+	 * continue processing even if maintenance mode should be active.
+	 *
+	 * @since 4.6.0
+	 *
+	 * @param bool $enable_checks Whether to enable maintenance mode. Default true.
+	 * @param int  $upgrading     The timestamp set in the .maintenance file.
+	 */
+	if ( ! apply_filters( 'enable_maintenance_mode', true, $upgrading ) ) {
+		return false;
+	}
+
+	return true;
+}
+
 /**
  * Set PHP error reporting based on WordPress debug settings.
  *
