diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-05-04 14:45:54 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-05-04 14:45:54 -0400 |
commit | e86d35c38e37eb64cb5d11933c42a2a72f16ce23 (patch) | |
tree | d4fcf187fe062a36c67e6c15f3e4499f8edd7f4b /fs | |
parent | 0d5cadb87e0fa764db7fa0b78d8a6f173cb475a1 (diff) |
do_coredump(): don't wait for thaw if coredump has already been interrupted
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/coredump.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/coredump.c b/fs/coredump.c index a9abe313e8d5..dafafbafa731 100644 --- a/fs/coredump.c +++ b/fs/coredump.c | |||
@@ -654,10 +654,11 @@ void do_coredump(siginfo_t *siginfo) | |||
654 | goto close_fail; | 654 | goto close_fail; |
655 | if (displaced) | 655 | if (displaced) |
656 | put_files_struct(displaced); | 656 | put_files_struct(displaced); |
657 | file_start_write(cprm.file); | 657 | if (!dump_interrupted()) { |
658 | core_dumped = !dump_interrupted() && binfmt->core_dump(&cprm); | 658 | file_start_write(cprm.file); |
659 | file_end_write(cprm.file); | 659 | core_dumped = binfmt->core_dump(&cprm); |
660 | 660 | file_end_write(cprm.file); | |
661 | } | ||
661 | if (ispipe && core_pipe_limit) | 662 | if (ispipe && core_pipe_limit) |
662 | wait_for_dump_helpers(cprm.file); | 663 | wait_for_dump_helpers(cprm.file); |
663 | close_fail: | 664 | close_fail: |