mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 15:47:01 +02:00
MINOR: fd: move .cloned into fdtab[].state
No need to keep this flag apart any more, let's merge it into the global state.
This commit is contained in:
parent
b41a6e9101
commit
030dae13a0
@ -64,6 +64,7 @@ enum {
|
||||
|
||||
/* info/config bits */
|
||||
#define FD_LINGER_RISK_BIT 16 /* must kill lingering before closing */
|
||||
#define FD_CLONED_BIT 17 /* cloned socket, requires EPOLL_CTL_DEL on close */
|
||||
|
||||
|
||||
/* and flag values */
|
||||
@ -99,6 +100,7 @@ enum {
|
||||
|
||||
/* information/configuration flags */
|
||||
#define FD_LINGER_RISK (1U << FD_LINGER_RISK_BIT)
|
||||
#define FD_CLONED (1U << FD_CLONED_BIT)
|
||||
|
||||
/* This is the value used to mark a file descriptor as dead. This value is
|
||||
* negative, this is important so that tests on fd < 0 properly match. It
|
||||
@ -147,7 +149,6 @@ struct fdtab {
|
||||
void (*iocb)(int fd); /* I/O handler */
|
||||
void *owner; /* the connection or listener associated with this fd, NULL if closed */
|
||||
unsigned int state; /* FD state for read and write directions (FD_EV_*) + FD_POLL_* */
|
||||
unsigned char cloned:1; /* 1 if a cloned socket, requires EPOLL_CTL_DEL on close */
|
||||
unsigned char initialized:1; /* 1 if init phase was done on this fd (e.g. set non-blocking) */
|
||||
unsigned char et_possible:1; /* 1 if edge-triggered is possible on this FD */
|
||||
unsigned char exported:1; /* 1 if the FD is exported and must not be closed */
|
||||
|
@ -433,7 +433,6 @@ static inline void fd_insert(int fd, void *owner, void (*iocb)(int fd), unsigned
|
||||
fdtab[fd].owner = owner;
|
||||
fdtab[fd].iocb = iocb;
|
||||
fdtab[fd].state = 0;
|
||||
fdtab[fd].cloned = 0;
|
||||
fdtab[fd].et_possible = 0;
|
||||
fdtab[fd].exported = 0;
|
||||
#ifdef DEBUG_FD
|
||||
|
@ -1203,7 +1203,7 @@ static int cli_io_handler_show_fd(struct appctx *appctx)
|
||||
(fdt.state & FD_POLL_PRI) ? 'P' : 'p',
|
||||
(fdt.state & FD_POLL_IN) ? 'I' : 'i',
|
||||
(fdt.state & FD_LINGER_RISK) ? 'L' : 'l',
|
||||
fdt.cloned ? 'C' : 'c',
|
||||
(fdt.state & FD_CLONED) ? 'C' : 'c',
|
||||
fdt.thread_mask, fdt.update_mask,
|
||||
fdt.owner,
|
||||
fdt.iocb);
|
||||
|
@ -41,7 +41,7 @@ static int epoll_fd[MAX_THREADS]; // per-thread epoll_fd
|
||||
*/
|
||||
static void __fd_clo(int fd)
|
||||
{
|
||||
if (unlikely(fdtab[fd].cloned)) {
|
||||
if (unlikely(fdtab[fd].state & FD_CLONED)) {
|
||||
unsigned long m = polled_mask[fd].poll_recv | polled_mask[fd].poll_send;
|
||||
struct epoll_event ev;
|
||||
int i;
|
||||
|
Loading…
Reference in New Issue
Block a user