From: Willy Tarreau Date: Fri, 29 Aug 2008 21:36:51 +0000 (+0200) Subject: [MINOR] change type of fdtab[]->owner to void* X-Git-Tag: v1.3.16-rc1~159 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eabf313df267621636f2460ab0e1da814c5db3a1;p=thirdparty%2Fhaproxy.git [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. --- diff --git a/include/types/fd.h b/include/types/fd.h index 7d746f0479..97e14b14d4 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 5ff1abe796..1f577d1be8 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 0cf1e0e980..32c4994cef 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 4eab55efbb..dc2b93388b 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;