Commit 8603ec81487a5fefbc29611ff0d635b33b6da990
Committed by
Linus Torvalds
1 parent
a6ea4cceed
Exists in
master
and in
20 other branches
uml: aIO deadlock avoidance
Allow deadlocks to be avoided in the AIO code by setting the pipe to the I/O thread non-blocking. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 5 additions and 0 deletions Side-by-side Diff
arch/um/os-Linux/aio.c
... | ... | @@ -221,6 +221,11 @@ |
221 | 221 | |
222 | 222 | aio_req_fd_w = fds[0]; |
223 | 223 | aio_req_fd_r = fds[1]; |
224 | + | |
225 | + err = os_set_fd_block(aio_req_fd_w, 0); | |
226 | + if(err) | |
227 | + goto out_close_pipe; | |
228 | + | |
224 | 229 | err = run_helper_thread(not_aio_thread, NULL, |
225 | 230 | CLONE_FILES | CLONE_VM | SIGCHLD, &stack, 0); |
226 | 231 | if(err < 0) |