summaryrefslogtreecommitdiffstats
path: root/hw/i2c/omap_i2c.c
diff options
context:
space:
mode:
authorPaolo Bonzini2017-05-15 12:00:59 +0200
committerJeff Cody2017-05-16 16:34:50 +0200
commit2bb5c936c5827e1d831002f7a7517cb8c2c2201d (patch)
treea0a51f4bd3d85535a2945022bc343885097e881e /hw/i2c/omap_i2c.c
parentcurl: convert readv to coroutines (diff)
downloadqemu-2bb5c936c5827e1d831002f7a7517cb8c2c2201d.tar.gz
qemu-2bb5c936c5827e1d831002f7a7517cb8c2c2201d.tar.xz
qemu-2bb5c936c5827e1d831002f7a7517cb8c2c2201d.zip
curl: do not do aio_poll when waiting for a free CURLState
Instead, put the CURLAIOCB on a wait list and yield; curl_clean_state will wake the corresponding coroutine. Because of CURL's callback-based structure, we cannot easily convert everything to CoMutex/CoQueue; keeping the QemuMutex is simpler. However, CoQueue is a simple wrapper around a linked list, so we can easily use QSIMPLEQ and open-code a CoQueue, protected by the BDRVCURLState QemuMutex instead of a CoMutex. Reviewed-by: Jeff Cody <jcody@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 20170515100059.15795-8-pbonzini@redhat.com Signed-off-by: Jeff Cody <jcody@redhat.com>
Diffstat (limited to 'hw/i2c/omap_i2c.c')
0 files changed, 0 insertions, 0 deletions