summaryrefslogtreecommitdiffstats
path: root/web/attachments/260740-check_ntp_time.mega_debug.patch
diff options
context:
space:
mode:
Diffstat (limited to 'web/attachments/260740-check_ntp_time.mega_debug.patch')
-rw-r--r--web/attachments/260740-check_ntp_time.mega_debug.patch63
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 @@
1Index: 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;