summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2018-10-02 09:23:21 -0500
committerTim Graham <timograham@gmail.com>2018-10-02 10:23:21 -0400
commitc37b84434937925149fd4626beedc2de62dc446e (patch)
treeda431415f33069f13ff793178d4023c323754f36
parentd4fc111c2467c6a9d9491807497e13b08b80dc5d (diff)
Fixed ResourceWarning in MySQL's _clone_test_db().
-rw-r--r--django/db/backends/mysql/creation.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/django/db/backends/mysql/creation.py b/django/db/backends/mysql/creation.py
index f342d85f05..dbe05526da 100644
--- a/django/db/backends/mysql/creation.py
+++ b/django/db/backends/mysql/creation.py
@@ -66,7 +66,7 @@ class DatabaseCreation(BaseDatabaseCreation):
load_cmd = DatabaseClient.settings_to_cmd_args(self.connection.settings_dict)
load_cmd[-1] = target_database_name
- dump_proc = subprocess.Popen(dump_cmd, stdout=subprocess.PIPE)
- load_proc = subprocess.Popen(load_cmd, stdin=dump_proc.stdout, stdout=subprocess.PIPE)
- dump_proc.stdout.close() # allow dump_proc to receive a SIGPIPE if load_proc exits.
- load_proc.communicate()
+ with subprocess.Popen(dump_cmd, stdout=subprocess.PIPE) as dump_proc:
+ with subprocess.Popen(load_cmd, stdin=dump_proc.stdout, stdout=subprocess.DEVNULL):
+ # Allow dump_proc to receive a SIGPIPE if the load process exits.
+ dump_proc.stdout.close()