Commit 8603ec81487a5fefbc29611ff0d635b33b6da990

Authored by Jeff Dike
Committed by Linus Torvalds
1 parent a6ea4cceed

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)