X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/c2180d3ea35c927a38165d149bfe18f57fe6b99e..f81acc5957a78dab3b6eb1f1f9f64e4eb7e340ac:/src/setup.c?ds=sidebyside diff --git a/src/setup.c b/src/setup.c index 0134680..64949e1 100644 --- a/src/setup.c +++ b/src/setup.c @@ -509,6 +509,7 @@ int adns__setnonblock(adns_state ads, int fd) { static int init_begin(adns_state *ads_r, adns_initflags flags, adns_logcallbackfn *logfn, void *logfndata) { adns_state ads; + pid_t pid; ads= malloc(sizeof(*ads)); if (!ads) return errno; @@ -532,6 +533,11 @@ static int init_begin(adns_state *ads_r, adns_initflags flags, timerclear(&ads->tcptimeout); ads->searchlist= 0; + pid= getpid(); + ads->rand48xsubi[0]= pid; + ads->rand48xsubi[1]= (unsigned long)pid >> 16; + ads->rand48xsubi[2]= pid ^ ((unsigned long)pid >> 16); + *ads_r= ads; return 0; }