summaryrefslogtreecommitdiff
path: root/buffer_iocp.c
diff options
context:
space:
mode:
authormkm <mkm@nabto.com>2022-11-01 14:26:11 +0100
committerAzat Khuzhin <azat@libevent.org>2022-11-13 13:47:52 +0100
commit8800b17a3d37a764027874e8f89796e7539b7ae1 (patch)
treeb94cd80fc9b75a37b7dc98cc27df691c5aea5fe4 /buffer_iocp.c
parent45c66e48795485407646e231b1f106412ce7b1ee (diff)
downloadlibevent-8800b17a3d37a764027874e8f89796e7539b7ae1.tar.gz
evdns: integrate deferred_response_callback into evdns_request
the allocation of the struct deferred_reply_callback can fail. If that happens a program waiting for a callback never gets a callback. The program would asume that it either gets an error or a callback when e.g. calling evdns_base_resolve_ipv6. I did an analysis of the evdns.c code and concluded that struct evdns_request would live until the callback is executed. Based on that conclusion I removed the struct deferred_reply_callback and moved the neccessary fields for data which should be copied from struct request into struct evdns_request. The fields evdns_callback_type user_callback and void *user_pointer are moved into struct evdns_request as it is a more natural place for them to live than struct request.
Diffstat (limited to 'buffer_iocp.c')
0 files changed, 0 insertions, 0 deletions