diff options
author | mkm <mkm@nabto.com> | 2022-11-01 14:26:11 +0100 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2022-11-13 13:47:52 +0100 |
commit | 8800b17a3d37a764027874e8f89796e7539b7ae1 (patch) | |
tree | b94cd80fc9b75a37b7dc98cc27df691c5aea5fe4 /buffer_iocp.c | |
parent | 45c66e48795485407646e231b1f106412ce7b1ee (diff) | |
download | libevent-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