mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
main-loop: Drop qemu_set_fd_handler2
All users are converted to qemu_set_fd_handler now, drop qemu_set_fd_handler2 and IOHandlerRecord.fd_read_poll. Signed-off-by: Fam Zheng <famz@redhat.com> Message-id: 1433400324-7358-9-git-send-email-famz@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
82e1cc4bf9
commit
6484e42247
4 changed files with 7 additions and 79 deletions
|
@ -96,8 +96,7 @@ AioContext *qemu_get_aio_context(void);
|
|||
* that the main loop waits for.
|
||||
*
|
||||
* Calling qemu_notify_event is rarely necessary, because main loop
|
||||
* services (bottom halves and timers) call it themselves. One notable
|
||||
* exception occurs when using qemu_set_fd_handler2 (see below).
|
||||
* services (bottom halves and timers) call it themselves.
|
||||
*/
|
||||
void qemu_notify_event(void);
|
||||
|
||||
|
@ -171,52 +170,6 @@ void qemu_del_wait_object(HANDLE handle, WaitObjectFunc *func, void *opaque);
|
|||
typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
|
||||
typedef int IOCanReadHandler(void *opaque);
|
||||
|
||||
/**
|
||||
* qemu_set_fd_handler2: Register a file descriptor with the main loop
|
||||
*
|
||||
* This function tells the main loop to wake up whenever one of the
|
||||
* following conditions is true:
|
||||
*
|
||||
* 1) if @fd_write is not %NULL, when the file descriptor is writable;
|
||||
*
|
||||
* 2) if @fd_read is not %NULL, when the file descriptor is readable.
|
||||
*
|
||||
* @fd_read_poll can be used to disable the @fd_read callback temporarily.
|
||||
* This is useful to avoid calling qemu_set_fd_handler2 every time the
|
||||
* client becomes interested in reading (or dually, stops being interested).
|
||||
* A typical example is when @fd is a listening socket and you want to bound
|
||||
* the number of active clients. Remember to call qemu_notify_event whenever
|
||||
* the condition may change from %false to %true.
|
||||
*
|
||||
* The callbacks that are set up by qemu_set_fd_handler2 are level-triggered.
|
||||
* If @fd_read does not read from @fd, or @fd_write does not write to @fd
|
||||
* until its buffers are full, they will be called again on the next
|
||||
* iteration.
|
||||
*
|
||||
* @fd: The file descriptor to be observed. Under Windows it must be
|
||||
* a #SOCKET.
|
||||
*
|
||||
* @fd_read_poll: A function that returns 1 if the @fd_read callback
|
||||
* should be fired. If the function returns 0, the main loop will not
|
||||
* end its iteration even if @fd becomes readable.
|
||||
*
|
||||
* @fd_read: A level-triggered callback that is fired if @fd is readable
|
||||
* at the beginning of a main loop iteration, or if it becomes readable
|
||||
* during one.
|
||||
*
|
||||
* @fd_write: A level-triggered callback that is fired when @fd is writable
|
||||
* at the beginning of a main loop iteration, or if it becomes writable
|
||||
* during one.
|
||||
*
|
||||
* @opaque: A pointer-sized value that is passed to @fd_read_poll,
|
||||
* @fd_read and @fd_write.
|
||||
*/
|
||||
int qemu_set_fd_handler2(int fd,
|
||||
IOCanReadHandler *fd_read_poll,
|
||||
IOHandler *fd_read,
|
||||
IOHandler *fd_write,
|
||||
void *opaque);
|
||||
|
||||
/**
|
||||
* qemu_set_fd_handler: Register a file descriptor with the main loop
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue