Hi Ondrej, Regarding #15, I'm not sure this is correct. As you say, when the job process terminates, job_process_terminated() gets called. This calls log_handle_unflushed() and that function calls log_read_watch(), which ultimately calls write(2). However, even if the write is successful before 'initctl notify-disk-writeable' gets called, if you look at log_handle_unflushed()...
743 log_handle_unflushed (void *parent, Log *log) 744 { 745 NihListEntry *elem; 746 747 nih_assert (log); 748 nih_assert (log->detached == 0); 749 750 log_read_watch (log); 751 752 if (! log->unflushed->len) 753 return 1; So, if the write is successful and log->unflushed->len becomes zero, the function returns 1 (meaning "log does not need to be added to the unflushed list") and crucially the log is not added to the unflushed list. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1447756 Title: segfault in log.c code causes phone reboot loops To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1447756/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs