diff --git a/include/types/buffers.h b/include/types/buffers.h
index 4afc293..9b781b8 100644
--- a/include/types/buffers.h
+++ b/include/types/buffers.h
@@ -63,9 +63,9 @@
 	struct timeval rex;             /* expiration date for a read  */
 	struct timeval wex;             /* expiration date for a write */
 	struct timeval cex;             /* expiration date for a connect */
-	int rto;                        /* read timeout */
-	int wto;                        /* write timeout */
-	int cto;                        /* connect timeout */
+	struct timeval rto;             /* read timeout */
+	struct timeval wto;             /* write timeout */
+	struct timeval cto;             /* connect timeout */
 	unsigned int l;                 /* data length */
 	char *r, *w, *lr;               /* read ptr, write ptr, last read */
 	char *rlim;                     /* read limit, used for header rewriting */
diff --git a/include/types/fd.h b/include/types/fd.h
index 392c94e..a1b6e9d 100644
--- a/include/types/fd.h
+++ b/include/types/fd.h
@@ -81,7 +81,7 @@
  *    it returns 0. It may be the same as clr().
  *  - clo() should be used to do indicate the poller that fd will be closed. It
  *    may be the same as rem() on some pollers.
- *  - poll() calls the poller, waiting at most wait_time ms.
+ *  - poll() calls the poller, expiring at <exp>
  */
 struct poller {
 	void   *private;                                     /* any private data for the poller */
@@ -92,7 +92,7 @@
 	int  REGPRM2 (*cond_c)(const int fd, int dir);       /* clear polling on <fd> for <dir> if set */
 	void REGPRM1    (*rem)(const int fd);                /* remove any polling on <fd> */
 	void REGPRM1    (*clo)(const int fd);                /* mark <fd> as closed */
-    	void REGPRM2   (*poll)(struct poller *p, int wait_time); /* the poller itself */
+    	void REGPRM2   (*poll)(struct poller *p, struct timeval *exp); /* the poller itself */
 	int  REGPRM1   (*init)(struct poller *p);            /* poller initialization */
 	void REGPRM1   (*term)(struct poller *p);            /* termination of this poller */
 	int  REGPRM1   (*test)(struct poller *p);            /* pre-init check of the poller */
diff --git a/include/types/proxy.h b/include/types/proxy.h
index c403e59..532348e 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -96,7 +96,6 @@
 	char *appsession_name;			/* name of the cookie to look for */
 	int  appsession_name_len;		/* strlen(appsession_name), computed only once */
 	int  appsession_len;			/* length of the appsession cookie value to be used */
-	int  appsession_timeout;
 	CHTbl htbl_proxy;			/* Per Proxy hashtable */
 	char *capture_name;			/* beginning of the name of the cookie to capture */
 	int  capture_namelen;			/* length of the cookie name to match */
@@ -104,9 +103,10 @@
 	struct uri_auth *uri_auth;		/* if non-NULL, the (list of) per-URI authentications */
 	char *monitor_uri;			/* a special URI to which we respond with HTTP/200 OK */
 	int monitor_uri_len;			/* length of the string above. 0 if unused */
-	int clitimeout;				/* client I/O timeout (in milliseconds) */
-	int srvtimeout;				/* server I/O timeout (in milliseconds) */
-	int contimeout;				/* connect timeout (in milliseconds) */
+	struct timeval clitimeout;		/* client I/O timeout (in milliseconds) */
+	struct timeval srvtimeout;		/* server I/O timeout (in milliseconds) */
+	struct timeval contimeout;		/* connect timeout (in milliseconds) */
+	struct timeval appsession_timeout;
 	char *id;				/* proxy id */
 	struct list pendconns;			/* pending connections with no server assigned yet */
 	int nbpend, nbpend_max;			/* number of pending connections with no server assigned yet */
diff --git a/include/types/task.h b/include/types/task.h
index 1fd78be..42699db 100644
--- a/include/types/task.h
+++ b/include/types/task.h
@@ -2,7 +2,7 @@
   include/types/task.h
   Macros, variables and structures for task management.
 
-  Copyright (C) 2000-2006 Willy Tarreau - w@1wt.eu
+  Copyright (C) 2000-2007 Willy Tarreau - w@1wt.eu
   
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -38,7 +38,7 @@
 	struct ultree *wq;		/* NULL if unqueued, or back ref to the carrier node in the WQ */
 	int state;			/* task state : IDLE or RUNNING */
 	struct timeval expire;		/* next expiration time for this task, use only for fast sorting */
-	int (*process)(struct task *t);	/* the function which processes the task */
+	void (*process)(struct task *t, struct timeval *next);	/* the function which processes the task */
 	void *context;			/* the task's context */
 };
 
