blob: b4ac82bd1b45b4ab24a974c72499fcb0ae0ad298 [file] [log] [blame]
daywalker8b186ac2003-07-04 16:16:51 +00001#include <stdio.h>
2#include <string.h>
3#include <netinet/in.h>
4#include <arpa/nameser.h>
5#include <resolv.h>
6#include <pthread.h>
7
8void* fn(void* arg)
9{
10 char* dn = (char*)arg;
11
12 unsigned char buff[8000];
sewardj7294b712003-07-09 21:53:32 +000013
daywalker8b186ac2003-07-04 16:16:51 +000014 if(-1 == res_search(dn, 1, 1, buff, 8000))
15 {
16 printf("Error: res_search()\n");
17 }
18 else
19 {
20 printf("Success!\n");
21 }
22 return 0;
23}
24
25int main(int argc, char** argv)
26{
sewardj68e281a2003-07-06 19:18:42 +000027 pthread_t pid;
daywalker8b186ac2003-07-04 16:16:51 +000028 if(2 != argc)
29 {
30 printf("Usage: %s <domain>\n", argv[0]);
31 return 1;
32 }
33
sewardj7294b712003-07-09 21:53:32 +000034 _res.options |= RES_DEBUG;
daywalker8b186ac2003-07-04 16:16:51 +000035 if(0 != res_init())
36 {
37 printf("Error: res_init()\n");
38 return(1);
39 }
sewardj7294b712003-07-09 21:53:32 +000040#if 1
41 /* Test it in a different thread -- the failure case */
daywalker8b186ac2003-07-04 16:16:51 +000042 if(0 != pthread_create(&pid, 0, fn, (void*)argv[1]))
43 {
44 printf("Failed to create thread.\n");
45 return 1;
46 }
47
48 pthread_join(pid, 0);
sewardj7294b712003-07-09 21:53:32 +000049#else
50 {
51 unsigned char buff[8000];
52
53 if(-1 == res_search(argv[1], 1, 1, buff, 8000))
54 {
55 printf("Error: res_search()\n");
56 }
57 else
58 {
59 printf("Success!\n");
60 }
61 }
62#endif
daywalker8b186ac2003-07-04 16:16:51 +000063 return 0;
64}
65
sewardj7294b712003-07-09 21:53:32 +000066