pgpool2.git / summary / log / commit / refs
commit d48f19b2e60739f42b30e68e1e6ebbcd9f9485e7
Author: Yoshiyuki Asaba <y-asaba at pgfoundry.org>
Date: Mon Nov 05 02:08:43 2007 +0000
Use FD_SETSIZE instead of 1024 at set_fd, isset_fd and zero_fd.
pool_process_query.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/pool_process_query.c b/pool_process_query.c
index 5bcc2ad9e..0b4b29dd9 100644
--- a/pool_process_query.c
+++ b/pool_process_query.c
@@ -49,6 +49,10 @@
#include "parser/parsenodes.h"
#include "pool_rewrite_query.h"
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 512
+#endif
+
#define INIT_STATEMENT_LIST_SIZE 8
#define DEADLOCK_ERROR_CODE "40P01"
@@ -570,16 +574,16 @@ POOL_STATUS pool_process_query(POOL_CONNECTION *frontend,
static void set_fd(unsigned long fd ,unsigned long *setp)
{
- unsigned long tmp = fd / 1024;
- unsigned long rem = fd % 1024;
+ unsigned long tmp = fd / FD_SETSIZE;
+ unsigned long rem = fd % FD_SETSIZE;
setp[tmp] |= (1UL<<rem);
}
/* using only in pool_parallel_exec */
static int isset_fd(unsigned long fd, unsigned long *setp)
{
- unsigned long tmp = fd / 1024;
- unsigned long rem = fd % 1024;
+ unsigned long tmp = fd / FD_SETSIZE;
+ unsigned long rem = fd % FD_SETSIZE;
return (setp[tmp] & (1UL<<rem)) != 0;
}
@@ -587,7 +591,7 @@ static int isset_fd(unsigned long fd, unsigned long *setp)
static void zero_fd(unsigned long *setp)
{
unsigned long *tmp = setp;
- int i = 1024 / BITS;
+ int i = FD_SETSIZE / BITS;
while(i)
{
i--;
@@ -608,7 +612,7 @@ POOL_STATUS pool_parallel_exec(POOL_CONNECTION *frontend,
fd_set readmask;
fd_set writemask;
fd_set exceptmask;
- unsigned long donemask[ 1024 / BITS];
+ unsigned long donemask[FD_SETSIZE / BITS];
static char *sq = "show pool_status";
POOL_STATUS status;
struct timeval timeout;
[parent: 0fa64a73a869]