REORG: polling: rename "fd_spec" to "fd_cache"
So fd_spec was renamed "fd_cache" as it's becoming an event cache, and
fd_nbspec becomes fd_cache_num.
diff --git a/include/proto/fd.h b/include/proto/fd.h
index 3563a08..ba08260 100644
--- a/include/proto/fd.h
+++ b/include/proto/fd.h
@@ -31,10 +31,10 @@
#include <types/fd.h>
/* public variables */
-extern int fd_nbspec; // number of speculative events in the list
-extern int fd_nbupdt; // number of updates in the list
-extern unsigned int *fd_spec; // speculative I/O list
-extern unsigned int *fd_updt; // FD updates list
+extern unsigned int *fd_cache; // FD events cache
+extern unsigned int *fd_updt; // FD updates list
+extern int fd_cache_num; // number of events in the cache
+extern int fd_nbupdt; // number of updates in the list
/* Deletes an FD from the fdsets, and recomputes the maxfd limit.
* The file descriptor is also closed.
@@ -100,9 +100,9 @@
if (fdtab[fd].cache)
/* FD already in speculative I/O list */
return;
- fd_nbspec++;
- fdtab[fd].cache = fd_nbspec;
- fd_spec[fd_nbspec-1] = fd;
+ fd_cache_num++;
+ fdtab[fd].cache = fd_cache_num;
+ fd_cache[fd_cache_num-1] = fd;
}
/* Removes entry used by fd <fd> from the spec list and replaces it with the
@@ -117,11 +117,11 @@
if (!pos)
return;
fdtab[fd].cache = 0;
- fd_nbspec--;
- if (likely(pos <= fd_nbspec)) {
+ fd_cache_num--;
+ if (likely(pos <= fd_cache_num)) {
/* was not the last entry */
- fd = fd_spec[fd_nbspec];
- fd_spec[pos - 1] = fd;
+ fd = fd_cache[fd_cache_num];
+ fd_cache[pos - 1] = fd;
fdtab[fd].cache = pos;
}
}
diff --git a/src/dumpstats.c b/src/dumpstats.c
index aabb556..19d4dbd 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -4525,7 +4525,7 @@
obj_base_ptr(conn->target));
chunk_appendf(&trash,
- " flags=0x%08x fd=%d fd_spec_e=%02x fd_spec_p=%d updt=%d\n",
+ " flags=0x%08x fd=%d fd.state=%02x fd.cache=%d updt=%d\n",
conn->flags,
conn->t.sock.fd,
conn->t.sock.fd >= 0 ? fdtab[conn->t.sock.fd].state : 0,
diff --git a/src/ev_epoll.c b/src/ev_epoll.c
index e826af3..45f7cea 100644
--- a/src/ev_epoll.c
+++ b/src/ev_epoll.c
@@ -111,7 +111,7 @@
/* compute the epoll_wait() timeout */
- if (fd_nbspec || run_queue || signal_queue_len) {
+ if (fd_cache_num || run_queue || signal_queue_len) {
/* Maybe we still have events in the spec list, or there are
* some tasks left pending in the run_queue, so we must not
* wait in epoll() otherwise we would delay their delivery by
diff --git a/src/ev_kqueue.c b/src/ev_kqueue.c
index d59a570..3aa3fd1 100644
--- a/src/ev_kqueue.c
+++ b/src/ev_kqueue.c
@@ -104,7 +104,7 @@
timeout.tv_sec = 0;
timeout.tv_nsec = 0;
- if (!fd_nbspec && !run_queue && !signal_queue_len) {
+ if (!fd_cache_num && !run_queue && !signal_queue_len) {
if (!exp) {
delta_ms = MAX_DELAY_MS;
timeout.tv_sec = (MAX_DELAY_MS / 1000);
diff --git a/src/ev_poll.c b/src/ev_poll.c
index 6a97c98..6d550a6 100644
--- a/src/ev_poll.c
+++ b/src/ev_poll.c
@@ -126,7 +126,7 @@
}
/* now let's wait for events */
- if (fd_nbspec || run_queue || signal_queue_len)
+ if (fd_cache_num || run_queue || signal_queue_len)
wait_time = 0;
else if (!exp)
wait_time = MAX_DELAY_MS;
diff --git a/src/ev_select.c b/src/ev_select.c
index 14f1b1e..f79cdbf 100644
--- a/src/ev_select.c
+++ b/src/ev_select.c
@@ -93,7 +93,7 @@
delta.tv_sec = 0;
delta.tv_usec = 0;
- if (!fd_nbspec && !run_queue && !signal_queue_len) {
+ if (!fd_cache_num && !run_queue && !signal_queue_len) {
if (!exp) {
delta_ms = MAX_DELAY_MS;
delta.tv_sec = (MAX_DELAY_MS / 1000);
diff --git a/src/fd.c b/src/fd.c
index ad45f46..d2638d3 100644
--- a/src/fd.c
+++ b/src/fd.c
@@ -105,11 +105,10 @@
struct poller cur_poller;
int nbpollers = 0;
-/* FD status is defined by the poller's status and by the speculative I/O list */
-int fd_nbspec = 0; // number of speculative events in the list
-int fd_nbupdt = 0; // number of updates in the list
-unsigned int *fd_spec = NULL; // speculative I/O list
+unsigned int *fd_cache = NULL; // FD events cache
unsigned int *fd_updt = NULL; // FD updates list
+int fd_cache_num = 0; // number of events in the cache
+int fd_nbupdt = 0; // number of updates in the list
/* Deletes an FD from the fdsets, and recomputes the maxfd limit.
* The file descriptor is also closed.
@@ -146,8 +145,8 @@
/* now process speculative events if any */
- for (spec_idx = 0; spec_idx < fd_nbspec; ) {
- fd = fd_spec[spec_idx];
+ for (spec_idx = 0; spec_idx < fd_cache_num; ) {
+ fd = fd_cache[spec_idx];
e = fdtab[fd].state;
/*
@@ -176,7 +175,7 @@
/* if the fd was removed from the spec list, it has been
* replaced by the next one that we don't want to skip !
*/
- if (spec_idx < fd_nbspec && fd_spec[spec_idx] != fd)
+ if (spec_idx < fd_cache_num && fd_cache[spec_idx] != fd)
continue;
spec_idx++;
@@ -202,8 +201,8 @@
int p;
struct poller *bp;
- if ((fd_spec = (uint32_t *)calloc(1, sizeof(uint32_t) * global.maxsock)) == NULL)
- goto fail_spec;
+ if ((fd_cache = (uint32_t *)calloc(1, sizeof(uint32_t) * global.maxsock)) == NULL)
+ goto fail_cache;
if ((fd_updt = (uint32_t *)calloc(1, sizeof(uint32_t) * global.maxsock)) == NULL)
goto fail_updt;
@@ -225,8 +224,8 @@
return 0;
fail_updt:
- free(fd_spec);
- fail_spec:
+ free(fd_cache);
+ fail_cache:
return 0;
}
@@ -246,9 +245,9 @@
}
free(fd_updt);
- free(fd_spec);
+ free(fd_cache);
fd_updt = NULL;
- fd_spec = NULL;
+ fd_cache = NULL;
}
/*