X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FFileHandle.cc;h=d99449ccdcedf6534df47f1fcd06d3e6bc1b6a78;hb=23a1bdee20b3fb19bd442efed8aa73b2bf0d585a;hp=952d09559e2c46453c73c88a0c2318bea7ac7a49;hpb=7661548b20e6c7627f54bff87e0758396fd523ef;p=senf.git diff --git a/senf/Socket/FileHandle.cc b/senf/Socket/FileHandle.cc index 952d095..d99449c 100644 --- a/senf/Socket/FileHandle.cc +++ b/senf/Socket/FileHandle.cc @@ -2,23 +2,28 @@ // // Copyright (C) 2006 // Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// Stefan Bund // -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief FileHandle non-inline non-template implementation @@ -71,7 +76,7 @@ prefix_ void senf::FileBody::destroyClose() prefix_ void senf::FileBody::v_close() { if (::close(fd_) != 0) - SENF_THROW_SYSTEM_EXCEPTION(""); + SENF_THROW_SYSTEM_EXCEPTION("could not ::close FileBody fd"); } prefix_ void senf::FileBody::v_terminate() @@ -95,17 +100,17 @@ prefix_ bool senf::FileBody::blocking() const { int flags = ::fcntl(fd(),F_GETFL); - if (flags < 0) SENF_THROW_SYSTEM_EXCEPTION(""); + if (flags < 0) SENF_THROW_SYSTEM_EXCEPTION("::fcntl(F_GETFL)"); return ! (flags & O_NONBLOCK); } prefix_ void senf::FileBody::blocking(bool status) { int flags = ::fcntl(fd(),F_GETFL); - if (flags < 0) SENF_THROW_SYSTEM_EXCEPTION(""); + if (flags < 0) SENF_THROW_SYSTEM_EXCEPTION("::fcntl(F_GETFL)"); if (status) flags &= ~O_NONBLOCK; else flags |= O_NONBLOCK; - if (::fcntl(fd(), F_SETFL, flags) < 0) SENF_THROW_SYSTEM_EXCEPTION(""); + if (::fcntl(fd(), F_SETFL, flags) < 0) SENF_THROW_SYSTEM_EXCEPTION("::fcntl(F_SETFL)"); } /* We don't take POLLIN/POLLOUT as argument to avoid having to include @@ -126,7 +131,7 @@ prefix_ bool senf::FileBody::pollCheck(int fd, bool incoming, int timeout, bool case EINTR: break; default: - SENF_THROW_SYSTEM_EXCEPTION(""); + SENF_THROW_SYSTEM_EXCEPTION("could not check ::poll"); } } while (rv<0); return rv>0;