X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=http_send.c;h=8f834f70a7ef7f32325c6474ef4f43e4e929ebea;hp=18ad9a5411ce52512fff7ad66e397b9968fc5a15;hb=7ce5851c7b28e0bcc81c4b7d7744d337c081100e;hpb=af1916caa460c43e05a325ea663aaf2764fda2cc diff --git a/http_send.c b/http_send.c index 18ad9a54..8f834f70 100644 --- a/http_send.c +++ b/http_send.c @@ -59,8 +59,6 @@ struct http_client { enum http_status status; /** Non-zero if we included \a fd in the read set.*/ int check_r; - /** Non-zero if we included \a fd in the write set. */ - int check_w; /** The position of this client in the client list. */ struct list_head node; /** non-zero if audio file header has been sent */ @@ -198,7 +196,7 @@ static void http_send(long unsigned current_chunk, } } -static void http_post_select(fd_set *rfds, fd_set *wfds) +static void http_post_select(fd_set *rfds, __a_unused fd_set *wfds) { int i = -1, match; struct http_client *hc, *tmp; @@ -225,17 +223,12 @@ static void http_post_select(fd_set *rfds, fd_set *wfds) } break; case HTTP_GOT_GET_REQUEST: /* need to send ok msg */ - if (hc->check_w && FD_ISSET(hc->fd, wfds)) { - hc->status = HTTP_STREAMING; - http_send_ok_msg(hc); - } + hc->status = HTTP_STREAMING; + http_send_ok_msg(hc); break; case HTTP_INVALID_GET_REQUEST: /* need to send err msg */ - if (hc->check_w && FD_ISSET(hc->fd, wfds)) { - if (http_send_err_msg(hc) >= 0) - http_shutdown_client(hc, - "invalid get request"); - } + if (http_send_err_msg(hc) >= 0) + http_shutdown_client(hc, "invalid get request"); break; } } @@ -279,7 +272,7 @@ err_out: free(hc); } -static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds) +static void http_pre_select(int *max_fileno, fd_set *rfds, __a_unused fd_set *wfds) { struct http_client *hc, *tmp; @@ -289,19 +282,15 @@ static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds) list_for_each_entry_safe(hc, tmp, &clients, node) { //PARA_DEBUG_LOG("hc %p on fd %d: status %d\n", hc, hc->fd, hc->status); hc->check_r = 0; - hc->check_w = 0; switch (hc->status) { case HTTP_STREAMING: + case HTTP_GOT_GET_REQUEST: /* need to send ok msg */ + case HTTP_INVALID_GET_REQUEST: /* need to send err msg */ break; case HTTP_CONNECTED: /* need to recv get request */ para_fd_set(hc->fd, rfds, max_fileno); hc->check_r = 1; break; - case HTTP_GOT_GET_REQUEST: /* need to send ok msg */ - case HTTP_INVALID_GET_REQUEST: /* need to send err msg */ - para_fd_set(hc->fd, wfds, max_fileno); - hc->check_w = 1; - break; } } }