X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=udp_recv.c;h=8d1274bc1e919e703f3856cc8159269d33756f2c;hb=539d39f36549c10656d8b31f3dea32702e9649df;hp=4620d61a4603e46561881a3b7c0976a09c7788d9;hpb=7649f22106cec2c6eb8bb10f279401e1af5451d0;p=paraslash.git diff --git a/udp_recv.c b/udp_recv.c index 4620d61a..8d1274bc 100644 --- a/udp_recv.c +++ b/udp_recv.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2005 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2005 Andre Noll , see file COPYING. */ /** \file udp_recv.c Paraslash's udp receiver */ #include @@ -27,13 +23,13 @@ #include "net.h" #include "fd.h" -static void udp_recv_pre_select(struct sched *s, void *context) +static void udp_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 udp_check_eof(size_t sz, struct iovec iov[2]) @@ -54,7 +50,7 @@ static int udp_check_eof(size_t sz, struct iovec iov[2]) return -E_RECV_EOF; } -static int udp_recv_post_select(__a_unused struct sched *s, void *context) +static int udp_recv_post_monitor(__a_unused struct sched *s, void *context) { struct receiver_node *rn = context; struct btr_node *btrn = rn->btrn; @@ -72,7 +68,7 @@ static int udp_recv_post_select(__a_unused struct sched *s, void *context) ret = -E_UDP_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; readv_ret = ret; @@ -190,10 +186,9 @@ err: return ret; } -/** See \ref recv_init(). */ const struct receiver lsg_recv_cmd_com_udp_user_data = { .open = udp_recv_open, .close = udp_recv_close, - .pre_select = udp_recv_pre_select, - .post_select = udp_recv_post_select, + .pre_monitor = udp_recv_pre_monitor, + .post_monitor = udp_recv_post_monitor, };