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