block/curl: Use lock guard macros
Replace manual lock()/unlock() calls with lock guard macros (QEMU_LOCK_GUARD/WITH_QEMU_LOCK_GUARD) in block/curl. Signed-off-by: Gan Qixin <ganqixin@huawei.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20201203075055.127773-3-ganqixin@huawei.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
c37c973660
commit
f5056b70e6
28
block/curl.c
28
block/curl.c
@ -564,23 +564,23 @@ static void curl_detach_aio_context(BlockDriverState *bs)
|
|||||||
BDRVCURLState *s = bs->opaque;
|
BDRVCURLState *s = bs->opaque;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
qemu_mutex_lock(&s->mutex);
|
WITH_QEMU_LOCK_GUARD(&s->mutex) {
|
||||||
for (i = 0; i < CURL_NUM_STATES; i++) {
|
for (i = 0; i < CURL_NUM_STATES; i++) {
|
||||||
if (s->states[i].in_use) {
|
if (s->states[i].in_use) {
|
||||||
curl_clean_state(&s->states[i]);
|
curl_clean_state(&s->states[i]);
|
||||||
|
}
|
||||||
|
if (s->states[i].curl) {
|
||||||
|
curl_easy_cleanup(s->states[i].curl);
|
||||||
|
s->states[i].curl = NULL;
|
||||||
|
}
|
||||||
|
g_free(s->states[i].orig_buf);
|
||||||
|
s->states[i].orig_buf = NULL;
|
||||||
}
|
}
|
||||||
if (s->states[i].curl) {
|
if (s->multi) {
|
||||||
curl_easy_cleanup(s->states[i].curl);
|
curl_multi_cleanup(s->multi);
|
||||||
s->states[i].curl = NULL;
|
s->multi = NULL;
|
||||||
}
|
}
|
||||||
g_free(s->states[i].orig_buf);
|
|
||||||
s->states[i].orig_buf = NULL;
|
|
||||||
}
|
}
|
||||||
if (s->multi) {
|
|
||||||
curl_multi_cleanup(s->multi);
|
|
||||||
s->multi = NULL;
|
|
||||||
}
|
|
||||||
qemu_mutex_unlock(&s->mutex);
|
|
||||||
|
|
||||||
timer_del(&s->timer);
|
timer_del(&s->timer);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user