aboutsummaryrefslogtreecommitdiff
path: root/databases/pgpool-II-23/files/patch-pcp_proc_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'databases/pgpool-II-23/files/patch-pcp_proc_info.c')
-rw-r--r--databases/pgpool-II-23/files/patch-pcp_proc_info.c112
1 files changed, 112 insertions, 0 deletions
diff --git a/databases/pgpool-II-23/files/patch-pcp_proc_info.c b/databases/pgpool-II-23/files/patch-pcp_proc_info.c
new file mode 100644
index 000000000000..a573ff5c26ef
--- /dev/null
+++ b/databases/pgpool-II-23/files/patch-pcp_proc_info.c
@@ -0,0 +1,112 @@
+Index: pcp/pcp_proc_info.c
+===================================================================
+RCS file: /cvsroot/pgpool/pgpool-II/pcp/pcp_proc_info.c,v
+retrieving revision 1.2
+diff -u -r1.2 pcp_proc_info.c
+--- pcp/pcp_proc_info.c 29 Jan 2008 01:56:38 -0000 1.2
++++ pcp/pcp_proc_info.c 29 Dec 2008 05:15:44 -0000
+@@ -23,6 +23,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #include "pcp.h"
+
+@@ -40,36 +41,47 @@
+ int processID;
+ ProcessInfo *process_info;
+ int array_size;
++ int ch;
+
+- if (argc == 2 && (strcmp(argv[1], "-h") == 0) )
+- {
+- usage();
+- exit(0);
++ while ((ch = getopt(argc, argv, "hd")) != -1) {
++ switch (ch) {
++ case 'd':
++ pcp_enable_debug();
++ break;
++
++ case 'h':
++ case '?':
++ default:
++ usage();
++ exit(0);
++ }
+ }
++ argc -= optind;
++ argv += optind;
+
+- if (argc != 7)
++ if (argc != 6)
+ {
+ errorcode = INVALERR;
+ pcp_errorstr(errorcode);
+ myexit(errorcode);
+ }
+
+- timeout = atol(argv[1]);
++ timeout = atol(argv[0]);
+ if (timeout < 0) {
+ errorcode = INVALERR;
+ pcp_errorstr(errorcode);
+ myexit(errorcode);
+ }
+
+- if (strlen(argv[2]) >= MAX_DB_HOST_NAMELEN)
++ if (strlen(argv[1]) >= MAX_DB_HOST_NAMELEN)
+ {
+ errorcode = INVALERR;
+ pcp_errorstr(errorcode);
+ myexit(errorcode);
+ }
+- strcpy(host, argv[2]);
++ strcpy(host, argv[1]);
+
+- port = atoi(argv[3]);
++ port = atoi(argv[2]);
+ if (port <= 1024 || port > 65535)
+ {
+ errorcode = INVALERR;
+@@ -77,23 +89,23 @@
+ myexit(errorcode);
+ }
+
+- if (strlen(argv[4]) >= MAX_USER_PASSWD_LEN)
++ if (strlen(argv[3]) >= MAX_USER_PASSWD_LEN)
+ {
+ errorcode = INVALERR;
+ pcp_errorstr(errorcode);
+ myexit(errorcode);
+ }
+- strcpy(user, argv[4]);
++ strcpy(user, argv[3]);
+
+- if (strlen(argv[5]) >= MAX_USER_PASSWD_LEN)
++ if (strlen(argv[4]) >= MAX_USER_PASSWD_LEN)
+ {
+ errorcode = INVALERR;
+ pcp_errorstr(errorcode);
+ myexit(errorcode);
+ }
+- strcpy(pass, argv[5]);
++ strcpy(pass, argv[4]);
+
+- processID = atoi(argv[6]);
++ processID = atoi(argv[5]);
+ if (processID < 0)
+ {
+ errorcode = INVALERR;
+@@ -142,8 +154,9 @@
+ usage(void)
+ {
+ fprintf(stderr, "pcp_proc_info - display a pgpool-II child process' information\n\n");
+- fprintf(stderr, "Usage: pcp_proc_info timeout hostname port# username password PID\n");
++ fprintf(stderr, "Usage: pcp_proc_info [-d] timeout hostname port# username password PID\n");
+ fprintf(stderr, "Usage: pcp_proc_info -h\n\n");
++ fprintf(stderr, " -d - enable debug message (optional)\n");
+ fprintf(stderr, " timeout - connection timeout value in seconds. command exits on timeout\n");
+ fprintf(stderr, " hostname - pgpool-II hostname\n");
+ fprintf(stderr, " port# - pgpool-II port number\n");