diff options
author | Max Kellermann <max@duempel.org> | 2014-01-24 16:12:10 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-01-24 16:37:21 +0100 |
commit | 299ff2b23ffbd3c4511768f7bfbf427315b0650d (patch) | |
tree | 3526fed9c53eacabc5c2541bf6d69e58ddf8ca95 /src/PidFile.hxx | |
parent | f8bfea8bae44134e8002db869fd4ec137d1c0d6e (diff) | |
download | mpd-299ff2b23ffbd3c4511768f7bfbf427315b0650d.tar.gz mpd-299ff2b23ffbd3c4511768f7bfbf427315b0650d.tar.xz mpd-299ff2b23ffbd3c4511768f7bfbf427315b0650d.zip |
move daemonization code to unix/
Diffstat (limited to 'src/PidFile.hxx')
-rw-r--r-- | src/PidFile.hxx | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/PidFile.hxx b/src/PidFile.hxx deleted file mode 100644 index a242c7810..000000000 --- a/src/PidFile.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2003-2014 The Music Player Daemon Project - * http://www.musicpd.org - * - * 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., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPD_PID_FILE_HXX -#define MPD_PID_FILE_HXX - -#include "fs/FileSystem.hxx" -#include "fs/AllocatedPath.hxx" -#include "Log.hxx" - -#include <assert.h> -#include <stdio.h> -#include <sys/types.h> -#include <unistd.h> - -class PidFile { - FILE *file; - -public: - PidFile(const AllocatedPath &path):file(nullptr) { - if (path.IsNull()) - return; - - file = FOpen(path, "w"); - if (file == nullptr) { - const std::string utf8 = path.ToUTF8(); - FormatFatalSystemError("Failed to create pid file \"%s\"", - path.c_str()); - } - } - - PidFile(const PidFile &) = delete; - - void Close() { - if (file == nullptr) - return; - - fclose(file); - } - - void Delete(const AllocatedPath &path) { - if (file == nullptr) { - assert(path.IsNull()); - return; - } - - assert(!path.IsNull()); - - fclose(file); - RemoveFile(path); - } - - void Write(pid_t pid) { - if (file == nullptr) - return; - - fprintf(file, "%lu\n", (unsigned long)pid); - fclose(file); - } - - void Write() { - if (file == nullptr) - return; - - Write(getpid()); - } -}; - -#endif |