[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Current LibXL Status
Ian Campbell writes ("Re: [Xen-devel] Current LibXL Status"): > The only one I can find which isn't one of this is > in libxl__event_disaster, and that is only if the applications (or language > bindings) haven't provided a suitable disaster callback. libxl__event_disaster can currently happen in the following cases. Disasters which are specific to a specific requested event (type!=0): xc_domain_getinfolist failure (breaks reporting domain death, only xw_write failure for acknowledging disk eject (breaks reporting ejects, only) General disasters (type==0) due to xenstore problems: POLLERR or POLLHUP on xenstore fd xs_check_watch fails (represents trouble on xenstore fd or with xenstore) xs_read for domain death check General disasters (type==0) due to hypercall trouble: xenevtchn_pending fails other than with EAGAIN (unrequested) event other than POLLIN on evtchn fd General disasters (type==0) due to syscall failure: poll syscall fails (unrequested) event other than POLLIN on self-pipe read() or write() fails on a self-pipe (other than EAGAIN/EWOULDBLOCK) waitpid() syscall fails General disasters (type==0) induced by the application: waitpid reports ECHILD when we know we have a child (probably, something else in the process reaped it; arguably this should abort) application's childproc_hooks->reaped_callback failure Disasters are not reported unless it is impossible to proceed. So in general it is not possible for a process to recover from a disaster reported by libxl. But disasters are never expected. They should occur only if everything is totally doomed anyway. Having a daemon crash is a perfectly reasonable response. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |