From: Martin Molnar Date: Mon, 23 Jun 2008 15:35:43 +0000 (+0200) Subject: Applied Michal's fixes X-Git-Url: http://rtime.felk.cvut.cz/gitweb/frescor/fwp.git/commitdiff_plain/ee0a1ea6fcd8a331f904285e10cb686a51b6f8e7 Applied Michal's fixes --- diff --git a/fwp/lib/core/fwp_endpoint.c b/fwp/lib/core/fwp_endpoint.c index f61f3d0..15d9ef0 100644 --- a/fwp/lib/core/fwp_endpoint.c +++ b/fwp/lib/core/fwp_endpoint.c @@ -420,7 +420,8 @@ ssize_t fwp_recv(fwp_endpoint_d_t epointd, void *buffer, size_t buffer_size, peer->addr, &peer->addrlen); return len; } -next_recv: + + while (1) { /* FIXME: What about using a loop here and continue instead of goto???? */ /* FWP_EPOINT_RELIABLE */ fdset = epoint->fdset; @@ -435,7 +436,7 @@ next_recv: if (FD_ISSET(epoint->sockd, &fdset)) { /* is it listen socket? */ if (epoint->nr_connections == epoint->attr.max_connections) - goto next_recv; + continue; csockd = accept(epoint->sockd, (struct sockaddr*)peer->addr, &peer->addrlen); @@ -451,8 +452,7 @@ next_recv: epoint->nr_connections++; FD_SET(csockd, &epoint->fdset); - - goto next_recv; + continue; } /* Check client TCP sockets */ @@ -470,11 +470,11 @@ next_recv: memcpy(epoint->c_sockd+i, epoint->c_sockd+i+1, sizeof(int)*(epoint->nr_connections -i-1)); epoint->nr_connections--; - goto next_recv; + continue; } } - - return -EPERM; + + } } /** diff --git a/fwp/lib/mngt/fwp_contract.c b/fwp/lib/mngt/fwp_contract.c index 3d6954e..b59f9a3 100644 --- a/fwp/lib/mngt/fwp_contract.c +++ b/fwp/lib/mngt/fwp_contract.c @@ -2,6 +2,7 @@ #include "fwp_contract.h" #include "fwp_contract_table.h" #include "fwp_mngt.h" +#include static int fwp_contract_is_reserved(fwp_contract_d_t contract) { diff --git a/fwp/mngr/fwp_mngr.c b/fwp/mngr/fwp_mngr.c index 8e9baa8..acb1ea7 100644 --- a/fwp/mngr/fwp_mngr.c +++ b/fwp/mngr/fwp_mngr.c @@ -12,11 +12,6 @@ #define FWP_MTU 2346 #define BUFFSIZE FWP_MTU -/* buffer and socket for incomming message */ -static unsigned char buffer[FWP_MTU]; -/* FIXME: This could be moved to local static variable in - * fwp_mngt_input() */ - /* Admission control test */ fwp_admctrl_test_t fwp_admctrl_test = &fwp_admctrl_stupid; @@ -33,6 +28,8 @@ fwp_admctrl_test_t fwp_admctrl_test = &fwp_admctrl_stupid; */ int fwp_mngr_input(struct fwp_msgb **pmsgb) { + /* buffer and socket for incomming message */ + static unsigned char buffer[FWP_MTU]; struct fwp_msgb *msgb; ssize_t size;