mirror of
https://frontier.innolan.net/rainlance/c-ares.git
synced 2026-10-05 19:12:26 +00:00
Gisle Vanem:
Basically in loops like handle_errors(), 'query->next' was assigned a local variable and then query was referenced after the memory was freed by next_server(). I've changed that so next_server() and end_query() returns the next query. So callers should use this ret-value. The next problem was that 'server->tcp_buffer_pos' had a random value at entry to 1st recv() (luckily causing Winsock to return ENOBUFS). I've also added a ares_writev() for Windows to streamline the code a bit more.
This commit is contained in:
@@ -26,6 +26,9 @@ struct iovec
|
||||
|
||||
#define getpid() _getpid()
|
||||
|
||||
int ares_writev (SOCKET s, const struct iovec *vector, size_t count);
|
||||
#define writev(s,vect,count) ares_writev(s,vect,count)
|
||||
|
||||
struct timezone { int dummy; };
|
||||
|
||||
int ares_gettimeofday(struct timeval *tv, struct timezone *tz);
|
||||
|
||||
Reference in New Issue
Block a user