X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=dccp_recv.c;h=fe2f7abf2af5fdb9abb27dcfb41c9da705ebf91a;hb=1f33eda05b3e96b32817a133287bcfc5e99ed6b4;hp=639c93fcbf99bc93ddc054ad43d03f30811270ac;hpb=a1610c2bd6e3097c6473c5403bfd59425b2058ba;p=paraslash.git diff --git a/dccp_recv.c b/dccp_recv.c index 639c93fc..fe2f7abf 100644 --- a/dccp_recv.c +++ b/dccp_recv.c @@ -76,7 +76,7 @@ static int dccp_recv_open(struct receiver_node *rn) /* Copy CCID preference list (u8 array required) */ given = lls_opt_given(r_c); if (given) { - ccids = para_malloc(given); + ccids = alloc(given); fo = flowopt_new(); for (i = 0; i < given; i++) ccids[i] = lls_int32_val(i, r_c); @@ -109,16 +109,16 @@ err: return ret; } -static void dccp_recv_pre_select(struct sched *s, void *context) +static void dccp_recv_pre_monitor(struct sched *s, void *context) { struct receiver_node *rn = context; - if (generic_recv_pre_select(s, rn) <= 0) + if (generic_recv_pre_monitor(s, rn) <= 0) return; - para_fd_set(rn->fd, &s->rfds, &s->max_fileno); + sched_monitor_readfd(rn->fd, s); } -static int dccp_recv_post_select(struct sched *s, void *context) +static int dccp_recv_post_monitor(__a_unused struct sched *s, void *context) { struct receiver_node *rn = context; struct btr_node *btrn = rn->btrn; @@ -136,7 +136,7 @@ static int dccp_recv_post_select(struct sched *s, void *context) ret = -E_DCCP_OVERRUN; if (iovcnt == 0) goto out; - ret = readv_nonblock(rn->fd, iov, iovcnt, &s->rfds, &num_bytes); + ret = readv_nonblock(rn->fd, iov, iovcnt, &num_bytes); if (num_bytes == 0) goto out; if (num_bytes <= iov[0].iov_len) /* only the first buffer was filled */ @@ -154,6 +154,6 @@ out: const struct receiver lsg_recv_cmd_com_dccp_user_data = { .open = dccp_recv_open, .close = dccp_recv_close, - .pre_select = dccp_recv_pre_select, - .post_select = dccp_recv_post_select, + .pre_monitor = dccp_recv_pre_monitor, + .post_monitor = dccp_recv_post_monitor, };