X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/adns/blobdiff_plain/59d05d1c16c1feb8135fae63c15952437a71d85e..375c6c48fd5804b2b6d117e86aea97792ccaa85f:/src/setup.c 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; }