X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=dccp_recv.c;h=fe2f7abf2af5fdb9abb27dcfb41c9da705ebf91a;hb=563b56a493d6a2bdcdebafadd907954dbe1de8a8;hp=3385d66c42d113b382d18eb3fc8c4a7c60b44f74;hpb=9498eb1c15c7e92c50675e7a951c0c0ea73cd93d;p=paraslash.git diff --git a/dccp_recv.c b/dccp_recv.c index 3385d66c..fe2f7abf 100644 --- a/dccp_recv.c +++ b/dccp_recv.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2006 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2006 Andre Noll , see file COPYING. */ /** \file dccp_recv.c paraslash's dccp receiver */ @@ -80,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); @@ -113,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; @@ -140,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 */ @@ -155,10 +151,9 @@ out: return ret; } -/** See \ref recv_init(). */ 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, };