aboutsummaryrefslogtreecommitdiff
path: root/iohandler.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-08iohandlers: fix issue with qemu_set_fd_handler()Anthony Liguori1-5/+2
As spotted by Aneesh, some users pass a NULL opaque so we need to be more aggressive in checking whether a user means to unregister. Also fix a double free caused by tag not being reset to zero after delete. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-09-01main: switch qemu_set_fd_handler to g_io_add_watchAnthony Liguori1-1/+56
This patch changes qemu_set_fd_handler to be implemented in terms of g_io_add_watch(). The semantics are a bit different so some glue is required. qemu_set_fd_handler2 is much harder to convert because of its use of polling. The glib main loop has the major of advantage of having a proven thread safe architecture. By using the glib main loop instead of our own, it will allow us to eventually introduce multiple I/O threads. I'm pretty sure that this will work on Win32, but I would appreciate some help testing. I think the semantics of g_io_channel_unix_new() are really just tied to the notion of a "unix fd" and not necessarily unix itself. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-08-20Use glib memory allocation and free functionsAnthony Liguori1-4/+4
qemu_malloc/qemu_free no longer exist after this commit. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-29add a service to reap zombies, use it in SLIRPPaolo Bonzini1-0/+64
SLIRP -smb support wants to fork a process and forget about reaping it. To please it, add a generic service to register a process id and let QEMU reap it. In the future it could be enhanced to pass a status, but this would be unused. With this in place, the SIGCHLD signal handler would not stomp on pclose anymore. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-03-29extract I/O handler lists to iohandler.cPaolo Bonzini1-0/+129
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>