X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FDaemonTools.cc;h=06db1a0a0d4f4fc06ee39fd2228377e05242e3e4;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=0dc3f0b2a9e35d96496bdc89c073d5c8cbadaa8c;hpb=25027a3bde8be9313e1f4ca80aa903e2da47266a;p=senf.git diff --git a/Utils/DaemonTools.cc b/Utils/DaemonTools.cc index 0dc3f0b..06db1a0 100644 --- a/Utils/DaemonTools.cc +++ b/Utils/DaemonTools.cc @@ -1,8 +1,24 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 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. +// +// 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. +// +// 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. -// Definition of non-inline non-template functions +/** \file + \brief DaemonTools non-inline non-template implementation */ #include "DaemonTools.hh" //#include "DaemonTools.ih" @@ -20,25 +36,25 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -prefix_ void satcom::lib::daemonize() +prefix_ void senf::daemonize() { int pid = fork(); if (pid < 0) - throw satcom::lib::SystemException("fork",errno); + throw senf::SystemException("fork",errno); if (pid > 0) - ::_exit(0); + ::_exit(0); if (::setsid() < 0) - throw satcom::lib::SystemException("setsid",errno); + throw senf::SystemException("setsid",errno); } -prefix_ void satcom::lib::redirect_stdio(std::string const & path) +prefix_ void senf::redirect_stdio(std::string const & path) { int fd = ::open(path.c_str(),O_RDWR); - if (fd < 0) throw satcom::lib::SystemException("open",errno); - if (dup2(fd,0) < 0) throw satcom::lib::SystemException("dup2",errno); - if (dup2(fd,1) < 0) throw satcom::lib::SystemException("dup2",errno); - if (dup2(fd,2) < 0) throw satcom::lib::SystemException("dup2",errno); - if (::close(fd) < 0) throw satcom::lib::SystemException("close",errno); + if (fd < 0) throw senf::SystemException("open",errno); + if (dup2(fd,0) < 0) throw senf::SystemException("dup2",errno); + if (dup2(fd,1) < 0) throw senf::SystemException("dup2",errno); + if (dup2(fd,2) < 0) throw senf::SystemException("dup2",errno); + if (::close(fd) < 0) throw senf::SystemException("close",errno); } ///////////////////////////////cc.e//////////////////////////////////////// @@ -48,4 +64,10 @@ prefix_ void satcom::lib::redirect_stdio(std::string const & path) // Local Variables: // mode: c++ +// fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: