X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;ds=inline;f=http_send.c;h=18ad9a5411ce52512fff7ad66e397b9968fc5a15;hb=af1916caa460c43e05a325ea663aaf2764fda2cc;hp=329071502f92f30d087bf2a5d62e466522d3e7f7;hpb=acf43b073be84c91f3b1b43d53967c307566430c;p=paraslash.git diff --git a/http_send.c b/http_send.c index 32907150..18ad9a54 100644 --- a/http_send.c +++ b/http_send.c @@ -36,8 +36,6 @@ enum http_status { HTTP_CONNECTED, /** Successfully received the get request. */ HTTP_GOT_GET_REQUEST, - /** We sent the OK message back to the client. */ - HTTP_SENT_OK_MSG, /** Connection is ready for sending audio data. */ HTTP_STREAMING, /** We didn't receive a valid get request. */ @@ -72,7 +70,6 @@ struct http_client { }; static int listen_fd = -1, numclients; -static struct sender *self; static void http_shutdown_client(struct http_client *hc, const char *msg) @@ -164,7 +161,7 @@ static int queue_chunk_or_shutdown(struct http_client *hc, long unsigned chunk_n return ret; } -static void http_send( long unsigned current_chunk, +static void http_send(long unsigned current_chunk, __a_unused long unsigned chunks_sent, const char *buf, size_t len) { struct http_client *hc, *tmp; @@ -191,13 +188,7 @@ static void http_send( long unsigned current_chunk, } if (!len) continue; - if (!ret || write_ok(hc->fd) <= 0) { - queue_chunk_or_shutdown(hc, current_chunk, 0); - continue; - } -// PARA_DEBUG_LOG("sending %d -> %s\n", len, remote_name(hc->fd)); - ret = write(hc->fd, buf, len); -// PARA_DEBUG_LOG("ret: %d\n", ret); + ret = http_write(hc->fd, buf, len); if (ret < 0) { http_shutdown_client(hc, "send error"); continue; @@ -235,7 +226,7 @@ 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_SENT_OK_MSG; + hc->status = HTTP_STREAMING; http_send_ok_msg(hc); } break; @@ -246,10 +237,6 @@ static void http_post_select(fd_set *rfds, fd_set *wfds) "invalid get request"); } break; - case HTTP_SENT_OK_MSG: /* need to send header? */ - if (hc->check_w && FD_ISSET(hc->fd, wfds)) - hc->status = HTTP_STREAMING; - break; } } if (!FD_ISSET(listen_fd, rfds)) @@ -315,12 +302,6 @@ static void http_pre_select(int *max_fileno, fd_set *rfds, fd_set *wfds) para_fd_set(hc->fd, wfds, max_fileno); hc->check_w = 1; break; - case HTTP_SENT_OK_MSG: - if (!vss_playing()) - break; /* wait until server starts playing */ - para_fd_set(hc->fd, wfds, max_fileno); - hc->check_w = 1; - break; } } } @@ -442,7 +423,6 @@ void http_send_init(struct sender *s) s->client_cmds[SENDER_ALLOW] = http_com_allow; s->client_cmds[SENDER_ADD] = NULL; s->client_cmds[SENDER_DELETE] = NULL; - self = s; acl_init(&http_acl, conf.http_access_arg, conf.http_access_given); if (!conf.http_no_autostart_given) http_open(); /* ignore errors */