X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FBSDSocketProtocol.cc;h=543f119a2e6a3baea24e9c1518b7896dac972c36;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=cd30a737d0f1392199258c99b539837a8f26bad7;hpb=8d2d26f114d3df0a60c5c516fcf40671b1e55558;p=senf.git diff --git a/Socket/Protocols/BSDSocketProtocol.cc b/Socket/Protocols/BSDSocketProtocol.cc index cd30a73..543f119 100644 --- a/Socket/Protocols/BSDSocketProtocol.cc +++ b/Socket/Protocols/BSDSocketProtocol.cc @@ -42,8 +42,8 @@ prefix_ std::pair senf::BSDSocketProtocol::linger() struct linger ling; socklen_t len = sizeof(ling); ::memset(&ling,sizeof(ling),0); - if (::getsockopt(body().fd(),SOL_SOCKET,SO_LINGER,&ling,&len) < 0) - throw SystemException(errno); + if (::getsockopt(fd(),SOL_SOCKET,SO_LINGER,&ling,&len) < 0) + throwErrno(); return std::make_pair(ling.l_onoff, ling.l_linger); } @@ -53,16 +53,16 @@ prefix_ void senf::BSDSocketProtocol::linger(bool enable, unsigned timeout) struct linger ling; ling.l_onoff = enable; ling.l_linger = timeout; - if (::setsockopt(body().fd(),SOL_SOCKET,SO_LINGER,&ling,sizeof(ling)) < 0) - throw SystemException(errno); + if (::setsockopt(fd(),SOL_SOCKET,SO_LINGER,&ling,sizeof(ling)) < 0) + throwErrno(); } prefix_ struct timeval senf::BSDSocketProtocol::timestamp() const { struct timeval tv; - if (::ioctl(body().fd(), SIOCGSTAMP, &tv) < 0) - throw SystemException(errno); + if (::ioctl(fd(), SIOCGSTAMP, &tv) < 0) + throwErrno(); return tv; } @@ -73,8 +73,8 @@ prefix_ bool senf::AddressableBSDSocketProtocol::reuseaddr() { int value; socklen_t len (sizeof(value)); - if (::getsockopt(body().fd(),SOL_SOCKET,SO_REUSEADDR,&value,&len) < 0) - throw SystemException(errno); + if (::getsockopt(fd(),SOL_SOCKET,SO_REUSEADDR,&value,&len) < 0) + throwErrno(); return value; } @@ -82,8 +82,8 @@ prefix_ void senf::AddressableBSDSocketProtocol::reuseaddr(bool value) const { int ivalue (value); - if (::setsockopt(body().fd(),SOL_SOCKET,SO_REUSEADDR,&ivalue,sizeof(ivalue)) < 0) - throw SystemException(errno); + if (::setsockopt(fd(),SOL_SOCKET,SO_REUSEADDR,&ivalue,sizeof(ivalue)) < 0) + throwErrno(); } ///////////////////////////////cc.e////////////////////////////////////////