X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=http_send.c;h=6ededb275ac225d8a38d6ccbead967d53877fad4;hp=5b98bbf4522c71d76a81d77e3de69f0545371ed0;hb=5587494468627e20fe622b6055689717262d09ab;hpb=f8f6605a4f02a15378a36618dbfacfc862fc6192 diff --git a/http_send.c b/http_send.c index 5b98bbf4..6ededb27 100644 --- a/http_send.c +++ b/http_send.c @@ -6,8 +6,10 @@ /** \file http_send.c paraslash's http sender */ +#include #include #include +#include #include "para.h" #include "error.h" @@ -133,7 +135,7 @@ static void http_post_select(fd_set *rfds, __a_unused fd_set *wfds) phsd->status = HTTP_CONNECTED; } -static void http_pre_select(int *max_fileno, fd_set *rfds, __a_unused fd_set *wfds) +static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds) { struct sender_client *sc, *tmp; @@ -144,6 +146,9 @@ static void http_pre_select(int *max_fileno, fd_set *rfds, __a_unused fd_set *wf struct private_http_sender_data *phsd = sc->private_data; if (phsd->status == HTTP_CONNECTED) /* need to recv get request */ para_fd_set(sc->fd, rfds, max_fileno); + if (phsd->status == HTTP_GOT_GET_REQUEST || + phsd->status == HTTP_INVALID_GET_REQUEST) + para_fd_set(sc->fd, wfds, max_fileno); } }