Following the algorithm suggested by Shane Kerr:
# figure out the new addresses to add and the old ones to remove
to_add, to_remove = compare_addresses(current_set, new_set)
# add our new addresses
added = []
for address in to_add:
if set_up_address(address) == SUCCESS:
added.add(address)
else:
# if we have an error, remove any of those addresses
# that we have added so far and return error
for address in added:
tear_down_address(address)
return BIG_FAT_FAILURE
# git rid of our old addresses
for address in to_remove:
tear_down_address(address)
cancel_current_io(address)
return SUCCESS
- this is a rough first pass at making the oxygen Modules page more consistent and user navigable
as a handy index into getdns
- I think a further re-org is needed in a later update, also haven't touched getdns_extra.h yet
- Added a few functions descriptions too, but still many functions without comments... a WIP
- Updated man page for context_create with multi-threaded instructions as a short term fix
so they can be dealt with when a listener has to go.
Connections are kept in a double linked list.
Prev links are pointers to the next pointer, to deal with the list handle (i.e. the first next pointer) in a uniform way.
Found on CentOS 6.6. With autoconf268 (available from EPEL repo) it works.
Looking at the update description of autoconf 2.64, the problem _might_ be fixed with that version already.
Quick fix for TLS timeouts not re-using a connection. Better solutio is needed.
Also minor fixes in getdns_query:
spurious semicolon (caused build warning)
build warning for initialised variable
have getdns_query honour the CLASS in the incoming query
Also minor fixes in getdns_query:
- spurious semicolon (caused build warning)
- build warning for initialised variable
- have getdns_query honour the CLASS in the incoming query
Use the libbsd (https://libbsd.freedesktop.org/) overlay to transparently
use the bsd compatibility layer without needing any actual code changes.
Remove now unnecessary direct access to libbsd includes. And remove
checks for unused functions.