...
|
...
|
@@ -24,7 +24,9 @@
|
24
|
24
|
#define CLIENTBLOCK 1024
|
25
|
25
|
#define CLIENTBLOCKBLOCK 256
|
26
|
26
|
#define MAXOUTBUF 128
|
|
27
|
+#ifndef BUFSIZE
|
27
|
28
|
#define BUFSIZE 8192
|
|
29
|
+#endif
|
28
|
30
|
#define BUFBLOCK 128
|
29
|
31
|
#define BUFBLOCKBLOCK 256
|
30
|
32
|
#define POSTBLOCK 16
|
...
|
...
|
@@ -146,6 +148,12 @@ wk_debug_io(char *iotype, int fd, char *ptr, long int size)
|
146
|
148
|
#define DEBUG_OUT_POST
|
147
|
149
|
#endif
|
148
|
150
|
|
|
151
|
+#ifdef WK_DEBUG_CONN
|
|
152
|
+#include "loglib.h"
|
|
153
|
+#define DEBUG_CONN(a) log_write a
|
|
154
|
+#else
|
|
155
|
+#define DEBUG_CONN(a)
|
|
156
|
+#endif
|
149
|
157
|
|
150
|
158
|
wk *
|
151
|
159
|
wk_init(int serverfd, sselect *ssel, void (*callback_event)(/*wk *web,int connid, wk_event event, void *userptr*/), wk_action (*callback_http)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), wk_action (*callback_post)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), wk_action (*callback_continuation)(/*wk *web,int connid, wk_uri *uri, void *userptr*/), void *userptr)
|
...
|
...
|
@@ -386,8 +394,10 @@ wk_service(wk *paramweb)
|
386
|
394
|
continue;
|
387
|
395
|
if(client->lastio>now)
|
388
|
396
|
client->lastio=now;
|
389
|
|
- if((now-ALIVETIMEOUT)>client->lastio)
|
|
397
|
+ if((now-ALIVETIMEOUT)>client->lastio) {
|
|
398
|
+ DEBUG_CONN(("WEBK","TIMEOUT: Closing client connection; now:%li, ALIVETIMEOUT:%li, lastio:%li, diff:%li\n",(long)now,(long)ALIVETIMEOUT,(long)client->lastio,(long)(now-client->lastio)));
|
390
|
399
|
wk_close((wk *)web, client->connid); /* timeout */
|
|
400
|
+ }
|
391
|
401
|
}
|
392
|
402
|
}
|
393
|
403
|
}
|
...
|
...
|
@@ -637,6 +647,7 @@ wk_close(wk *paramweb, int connid)
|
637
|
647
|
return(-1);
|
638
|
648
|
if((client=wk_clientget(web,connid))==NULL)
|
639
|
649
|
return(-1);
|
|
650
|
+ DEBUG_CONN(("WEBK","wk_close: connid: %i, fd: %i",connid,client->fd));
|
640
|
651
|
if(client->fd!=-1) {
|
641
|
652
|
sselect_delread(web->ssel,client->fd);
|
642
|
653
|
sselect_delwrite(web->ssel,client->fd);
|
...
|
...
|
@@ -965,6 +976,7 @@ wk_accept(_wk *web)
|
965
|
976
|
return(NULL);
|
966
|
977
|
}
|
967
|
978
|
client->fd=newfd;
|
|
979
|
+ DEBUG_CONN(("WEBK","wk_accept: connid: %i, fd: %i",client->connid,client->fd));
|
968
|
980
|
FD_SET(client->fd,&(web->fdset));
|
969
|
981
|
sselect_addread(web->ssel,client->fd,(void *)client);
|
970
|
982
|
return(client);
|