Matt: your debugging shows that it's the
ply_event_loop_process_pending_events() call made from the nested main
loop inside plymouth_prompt() that's blocking.

Dave: are you sure this isn't the case for you too?

I've stepped through the code of ply_event_loop_process_pending_events()
and am convinced there's no way that this can block when called from
nih_io_reader().  It will only be called if the "file descriptor" polled
for reading, which means that an epoll_wait called on it will return
events without blocking.

ply_event_loop_process_pending_events() only calls epoll_wait() once,
and processes the result.  It only loops if epoll_wait() returns -EINTR
or -EAGAIN.

If you have a way to replicate it, please try mountall 2.10 - I'd made a
number of mistakes with the client connection code, and it's possible
that this was the cause - also this gets rid of the modal/blocking
plymouth_prompt() call as well.

Let me know how you get on with that

** Changed in: mountall (Ubuntu)
       Status: Triaged => Incomplete

-- 
ply_event_loop_process_pending_events can block, causing mountall to deadlock
https://bugs.launchpad.net/bugs/518937
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to