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>
This commit is contained in:
committed by
Linus Torvalds
parent
a6ea4cceed
commit
8603ec8148
@@ -221,6 +221,11 @@ static int init_aio_24(void)
|
|||||||
|
|
||||||
aio_req_fd_w = fds[0];
|
aio_req_fd_w = fds[0];
|
||||||
aio_req_fd_r = fds[1];
|
aio_req_fd_r = fds[1];
|
||||||
|
|
||||||
|
err = os_set_fd_block(aio_req_fd_w, 0);
|
||||||
|
if(err)
|
||||||
|
goto out_close_pipe;
|
||||||
|
|
||||||
err = run_helper_thread(not_aio_thread, NULL,
|
err = run_helper_thread(not_aio_thread, NULL,
|
||||||
CLONE_FILES | CLONE_VM | SIGCHLD, &stack, 0);
|
CLONE_FILES | CLONE_VM | SIGCHLD, &stack, 0);
|
||||||
if(err < 0)
|
if(err < 0)
|
||||||
|
Reference in New Issue
Block a user