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/coredump.c | |
parent | 0d5cadb87e0fa764db7fa0b78d8a6f173cb475a1 (diff) | |
download | op-kernel-dev-e86d35c38e37eb64cb5d11933c42a2a72f16ce23.zip op-kernel-dev-e86d35c38e37eb64cb5d11933c42a2a72f16ce23.tar.gz |
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/coredump.c')
-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 a9abe31..dafafba 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -654,10 +654,11 @@ void do_coredump(siginfo_t *siginfo) goto close_fail; if (displaced) put_files_struct(displaced); - file_start_write(cprm.file); - core_dumped = !dump_interrupted() && binfmt->core_dump(&cprm); - file_end_write(cprm.file); - + if (!dump_interrupted()) { + file_start_write(cprm.file); + core_dumped = binfmt->core_dump(&cprm); + file_end_write(cprm.file); + } if (ispipe && core_pipe_limit) wait_for_dump_helpers(cprm.file); close_fail: |