From eabf313df267621636f2460ab0e1da814c5db3a1 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 29 Aug 2008 23:36:51 +0200 Subject: [PATCH] [MINOR] change type of fdtab[]->owner to void* The owner of an fd was initially a task but this was sometimes casted to a (struct listener *). We'll soon need more types, so void* is more appropriate. --- include/types/fd.h | 2 +- src/client.c | 2 +- src/proto_tcp.c | 2 +- src/proto_uxst.c | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/types/fd.h b/include/types/fd.h index 7d746f047..97e14b14d 100644 --- a/include/types/fd.h +++ b/include/types/fd.h @@ -65,7 +65,7 @@ struct fdtab { int (*f)(int fd); /* read/write function */ struct buffer *b; /* read/write buffer */ } cb[DIR_SIZE]; - struct task *owner; /* the session (or proxy) associated with this fd */ + void *owner; /* the session (or proxy) associated with this fd */ unsigned char state; /* the state of this fd */ unsigned char ev; /* event seen in return of poll() : FD_POLL_* */ struct sockaddr *peeraddr; /* pointer to peer's network address, or NULL if unset */ diff --git a/src/client.c b/src/client.c index 5ff1abe79..1f577d1be 100644 --- a/src/client.c +++ b/src/client.c @@ -60,7 +60,7 @@ void get_frt_addr(struct session *s) * It returns 0. */ int event_accept(int fd) { - struct listener *l = (struct listener *)fdtab[fd].owner; + struct listener *l = fdtab[fd].owner; struct proxy *p = (struct proxy *)l->private; /* attached frontend */ struct session *s; struct http_txn *txn; diff --git a/src/proto_tcp.c b/src/proto_tcp.c index 0cf1e0e98..32c4994ce 100644 --- a/src/proto_tcp.c +++ b/src/proto_tcp.c @@ -263,7 +263,7 @@ int tcp_bind_listener(struct listener *listener, char *errmsg, int errlen) fdtab[fd].cb[DIR_RD].f = listener->accept; fdtab[fd].cb[DIR_WR].f = NULL; /* never called */ fdtab[fd].cb[DIR_RD].b = fdtab[fd].cb[DIR_WR].b = NULL; - fdtab[fd].owner = (struct task *)listener; /* reference the listener instead of a task */ + fdtab[fd].owner = listener; /* reference the listener instead of a task */ fdtab[fd].state = FD_STLISTEN; fdtab[fd].peeraddr = NULL; fdtab[fd].peerlen = 0; diff --git a/src/proto_uxst.c b/src/proto_uxst.c index 4eab55efb..dc2b93388 100644 --- a/src/proto_uxst.c +++ b/src/proto_uxst.c @@ -266,7 +266,7 @@ static int uxst_bind_listener(struct listener *listener) fdtab[fd].cb[DIR_RD].f = listener->accept; fdtab[fd].cb[DIR_WR].f = NULL; /* never called */ fdtab[fd].cb[DIR_RD].b = fdtab[fd].cb[DIR_WR].b = NULL; - fdtab[fd].owner = (struct task *)listener; /* reference the listener instead of a task */ + fdtab[fd].owner = listener; /* reference the listener instead of a task */ fdtab[fd].state = FD_STLISTEN; fdtab[fd].peeraddr = NULL; fdtab[fd].peerlen = 0; @@ -358,7 +358,7 @@ static int uxst_unbind_listeners(struct protocol *proto) * as with TCP which can fall under attack. */ int uxst_event_accept(int fd) { - struct listener *l = (struct listener *)fdtab[fd].owner; + struct listener *l = fdtab[fd].owner; struct session *s; struct task *t; int cfd;