X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=http_recv.c;h=5aafacb840df1f863536fac1911c8d1caf8eb2b0;hb=4ce5b6570ed83ef2ab5296f369f147593507286b;hp=42098b7e9ee622f1e3b4cb0b5b16b29a51805da2;hpb=4ddaef74ff8f605a31c499d77fcaaffa7a3708c0;p=paraslash.git diff --git a/http_recv.c b/http_recv.c index 42098b7e..5aafacb8 100644 --- a/http_recv.c +++ b/http_recv.c @@ -56,17 +56,17 @@ static char *make_request_msg(void) return ret; } -static void http_recv_pre_select(struct sched *s, void *context) +static void http_recv_pre_monitor(struct sched *s, void *context) { struct receiver_node *rn = context; struct private_http_recv_data *phd = rn->private_data; - if (generic_recv_pre_select(s, rn) <= 0) + if (generic_recv_pre_monitor(s, rn) <= 0) return; if (phd->status == HTTP_CONNECTED) - para_fd_set(rn->fd, &s->wfds, &s->max_fileno); + sched_monitor_writefd(rn->fd, s); else - para_fd_set(rn->fd, &s->rfds, &s->max_fileno); + sched_monitor_readfd(rn->fd, s); } /* @@ -74,7 +74,7 @@ static void http_recv_pre_select(struct sched *s, void *context) * area with data read from the socket. In any case, update the state of the * connection if necessary. */ -static int http_recv_post_select(struct sched *s, void *context) +static int http_recv_post_monitor(struct sched *s, void *context) { struct receiver_node *rn = context; struct private_http_recv_data *phd = rn->private_data; @@ -93,7 +93,7 @@ static int http_recv_post_select(struct sched *s, void *context) return 0; if (phd->status == HTTP_CONNECTED) { char *rq; - if (!FD_ISSET(rn->fd, &s->wfds)) + if (!sched_write_ok(rn->fd, s)) return 0; rq = make_request_msg(); PARA_INFO_LOG("sending http request\n"); @@ -160,7 +160,7 @@ static int http_recv_open(struct receiver_node *rn) close(fd); return ret; } - rn->private_data = phd = para_calloc(sizeof(struct private_http_recv_data)); + rn->private_data = phd = zalloc(sizeof(struct private_http_recv_data)); rn->fd = fd; phd->status = HTTP_CONNECTED; rn->btrp = btr_pool_new("http_recv", 320 * 1024); @@ -170,6 +170,6 @@ static int http_recv_open(struct receiver_node *rn) const struct receiver lsg_recv_cmd_com_http_user_data = { .open = http_recv_open, .close = http_recv_close, - .pre_select = http_recv_pre_select, - .post_select = http_recv_post_select, + .pre_monitor = http_recv_pre_monitor, + .post_monitor = http_recv_post_monitor, };