diff options
Diffstat (limited to 'web/attachments/260740-check_ntp_time.mega_debug.patch')
-rw-r--r-- | web/attachments/260740-check_ntp_time.mega_debug.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/web/attachments/260740-check_ntp_time.mega_debug.patch b/web/attachments/260740-check_ntp_time.mega_debug.patch new file mode 100644 index 0000000..b08b980 --- /dev/null +++ b/web/attachments/260740-check_ntp_time.mega_debug.patch | |||
@@ -0,0 +1,63 @@ | |||
1 | Index: plugins/check_ntp_time.c | ||
2 | =================================================================== | ||
3 | --- plugins/check_ntp_time.c (revision 1884) | ||
4 | +++ plugins/check_ntp_time.c (working copy) | ||
5 | @@ -249,8 +249,12 @@ | ||
6 | int best_offset_server(const ntp_server_results *slist, int nservers){ | ||
7 | int i=0, j=0, cserver=0, candidates[5], csize=0; | ||
8 | |||
9 | + if (verbose>2) | ||
10 | + printf("best_offset_server() line %d: nservers=%d\n", __LINE__, nservers); | ||
11 | /* for each server */ | ||
12 | for(cserver=0; cserver<nservers; cserver++){ | ||
13 | + if (verbose>2) | ||
14 | + printf("best_offset_server() line %d: cserver=%d\n", __LINE__, cserver); | ||
15 | /* sort out servers with error flags */ | ||
16 | if ( LI(slist[cserver].flags) != LI_NOWARNING ){ | ||
17 | if (verbose) printf("discarding peer id %d: flags=%d\n", cserver, LI(slist[cserver].flags)); | ||
18 | @@ -261,25 +265,37 @@ | ||
19 | for(i=0; i<csize; i++){ | ||
20 | /* does it have an equal or better stratum? */ | ||
21 | if(slist[cserver].stratum <= slist[i].stratum){ | ||
22 | + if (verbose>2) | ||
23 | + printf("best_offset_server() line %d: slist[%d].stratum <= slist[%d].stratum\n", __LINE__, cserver, i); | ||
24 | /* does it have an equal or better dispersion? */ | ||
25 | if(slist[cserver].rtdisp <= slist[i].rtdisp){ | ||
26 | + if (verbose>2) | ||
27 | + printf("best_offset_server() line %d: slist[%d].rtdisp <= slist[%d].rtdisp\n", __LINE__, cserver, i); | ||
28 | /* does it have a better rtdelay? */ | ||
29 | if(slist[cserver].rtdelay < slist[i].rtdelay){ | ||
30 | + if (verbose>2) | ||
31 | + printf("best_offset_server() line %d: slist[%d].rtdelay < slist[%d].rtdelay\n", __LINE__, cserver, i); | ||
32 | break; | ||
33 | } | ||
34 | } | ||
35 | } | ||
36 | + if (verbose>2) | ||
37 | + printf("best_offset_server() line %d: i=%d, csize=%d\n", __LINE__, i, csize); | ||
38 | } | ||
39 | |||
40 | /* if we haven't reached the current list's end, move everyone | ||
41 | * over one to the right, and insert the new candidate */ | ||
42 | if(i<csize){ | ||
43 | for(j=5; j>i; j--){ | ||
44 | + if (verbose>2) | ||
45 | + printf("best_offset_server() line %d: candidates[%d]=candidates[%d-1] (i=%d, csize=%d)\n", __LINE__, j, j, i, csize); | ||
46 | candidates[j]=candidates[j-1]; | ||
47 | } | ||
48 | } | ||
49 | /* regardless, if they should be on the list... */ | ||
50 | if(i<5) { | ||
51 | + if (verbose>2) | ||
52 | + printf("best_offset_server() line %d: candidates[%d]=%d (csize=%d)\n", __LINE__, i, cserver, csize); | ||
53 | candidates[i]=cserver; | ||
54 | if(csize<5) csize++; | ||
55 | /* otherwise discard the server */ | ||
56 | @@ -337,6 +353,7 @@ | ||
57 | servers=(ntp_server_results*)malloc(sizeof(ntp_server_results)*num_hosts); | ||
58 | if(servers==NULL) die(STATE_UNKNOWN, "can not allocate server array"); | ||
59 | memset(servers, 0, sizeof(ntp_server_results)*num_hosts); | ||
60 | + DBG(printf("Found %d peers to check\n", num_hosts)); | ||
61 | |||
62 | /* setup each socket for writing, and the corresponding struct pollfd */ | ||
63 | ai_tmp=ai; | ||