Merge branch 'for-justin' of git://github.com/BenoitKnecht/minidlna

This commit is contained in:
Justin Maggard 2013-11-01 17:57:00 -07:00
commit 622b0b7411
18 changed files with 447 additions and 403 deletions

View File

@ -6,7 +6,7 @@ sbin_PROGRAMS = minidlnad
check_PROGRAMS = testupnpdescgen
minidlnad_SOURCES = minidlna.c upnphttp.c upnpdescgen.c upnpsoap.c \
upnpreplyparse.c minixml.c clients.c \
getifaddr.c daemonize.c upnpglobalvars.c \
getifaddr.c process.c upnpglobalvars.c \
options.c minissdp.c uuid.c upnpevents.c \
sql.c utils.c metadata.c scanner.c inotify.c \
tivo_utils.c tivo_beacon.c tivo_commands.c \

View File

@ -86,7 +86,7 @@
#include "utils.h"
#include "minissdp.h"
#include "minidlnatypes.h"
#include "daemonize.h"
#include "process.h"
#include "upnpevents.h"
#include "scanner.h"
#include "inotify.h"
@ -155,14 +155,6 @@ sigterm(int sig)
quitting = 1;
}
static void
sigchld(int sig)
{
if (!scanning)
signal(SIGCHLD, SIG_IGN);
waitpid(-1, NULL, WNOHANG);
}
static void
sighup(int sig)
{
@ -369,9 +361,9 @@ rescan:
#if USE_FORK
scanning = 1;
sqlite3_close(db);
*scanner_pid = fork();
*scanner_pid = process_fork();
open_db(&db);
if (!(*scanner_pid)) /* child (scanner) process */
if (*scanner_pid == 0) /* child (scanner) process */
{
start_scanner();
sqlite3_close(db);
@ -379,6 +371,10 @@ rescan:
freeoptions();
exit(EXIT_SUCCESS);
}
else if (*scanner_pid < 0)
{
start_scanner();
}
#else
start_scanner();
#endif
@ -884,7 +880,7 @@ init(int argc, char **argv)
}
else
{
pid = daemonize();
pid = process_daemonize();
#ifdef READYNAS
unlink("/ramfs/.upnp-av_scan");
path = "/var/log/upnp-av.log";
@ -897,7 +893,7 @@ init(int argc, char **argv)
}
log_init(path, log_level);
if (checkforrunning(pidfilename) < 0)
if (process_check_if_running(pidfilename) < 0)
{
DPRINTF(E_ERROR, L_GENERAL, "MiniDLNA is already running. EXITING.\n");
return 1;
@ -923,6 +919,9 @@ init(int argc, char **argv)
DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGPIPE");
if (signal(SIGHUP, &sighup) == SIG_ERR)
DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGHUP");
sa.sa_handler = process_handle_child_termination;
if (sigaction(SIGCHLD, &sa, NULL))
DPRINTF(E_FATAL, L_GENERAL, "Failed to set %s handler. EXITING.\n", "SIGCHLD");
if (writepidfile(pidfilename, pid, uid) != 0)
pidfilename = NULL;
@ -989,7 +988,6 @@ main(int argc, char **argv)
ret = -1;
}
check_db(db, ret, &scanner_pid);
signal(SIGCHLD, &sigchld);
#ifdef HAVE_INOTIFY
if( GETFLAG(INOTIFY_MASK) )
{

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: ljensen <ReadyNAS Forum User>\n"
"Language-Team: Danish\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Ukendt Dato"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Ukendt kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Alle Album -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Ukendt Album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Alle kunstnere -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Ukendt Kunstner"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musik"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Al Musik"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Kunstner"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Mapper"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Afspilningslister"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Film"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Alle Film"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Billeder"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Alle Billeder"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Foto-dato"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Vise Mapper"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Søger %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Søgning %s slut (%llu filer)!\n"

View File

@ -20,9 +20,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-10-19 11:00-0800\n"
"Last-Translator: Andi Miko <ReadyNAS_forum_user>\n"
"Language-Team: German\n"
@ -31,92 +31,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Unbekanntes Datum"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Unbekannte Kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Alle Alben -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Unbekanntes Album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Alle Interpreten -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Unbekannter Interpret"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musik"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Alle Titel"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Interpret"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Ordner"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Wiedergabelisten"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Video"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Alle Videos"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Bilder"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Alle Bilder"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Aufnahmedatum"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Ordner durchsuchen"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "%s wird gescannt ... \n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Scan von %s abgeschlossen (%llu files)!\n"

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: doubolplay1 <ReadyNAS Forum User>\n"
"Language-Team: Spanish\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Fecha desconocida"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Cámara desconocida"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Álbumes -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Álbum desconocido"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Artistas -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Artista desconocido"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Música"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Toda la música"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Género"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artista"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Álbum"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Carpetas"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Listas"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Vídeo"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Todos los vídeos"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Fotos"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Todas las fotos"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Fecha en que se hizo"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Cámara"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Examinar carpetas"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Explorando %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Terminada la exploración de %s (%llu archivos)\n"

View File

@ -5,103 +5,103 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: super-poussin <ReadyNAS Forum User>\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2013-06-12 16:56+0200\n"
"Last-Translator: Benoît Knecht <benoit.knecht@fsfe.org>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Date Inconnue"
msgstr "Date inconnue"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Camera Inconnue"
msgstr "Caméra inconnue"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Tous les Albums -"
msgstr "- Tous les albums -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Album Inconnu"
msgstr "Album inconnu"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Tous les Artistes -"
msgstr "- Tous les artistes -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Artiste Inconnu"
msgstr "Artiste inconnu"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musique"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Toute la Musique"
msgstr "Toute la musique"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artiste"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Dossiers"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Liste de Lecture"
msgstr "Liste de lecture"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Vidéo"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Toutes les Vidéos"
msgstr "Toutes les vidéos"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Images"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Toutes les Images"
msgstr "Toutes les images"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Date de Prise"
msgstr "Date de prise"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Camera"
msgstr "Caméra"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Parcourir les Dossiers"
msgstr "Parcourir les dossiers"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Analyse de %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Analyse réalisée à %s (%llu fichiers)!\n"
msgstr "Analyse de %s terminée (%llu fichiers) !\n"

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-11-01 10:04+0100\n"
"Last-Translator: Andrea Musuruane <musuruan@gmail.com>\n"
"Language-Team: Italian\n"
@ -18,92 +18,92 @@ msgstr ""
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Data sconosciuta"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Fotocamera sconosciuta"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Tutti gli album -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Album sconosciuto"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Tutti gli artisti -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Artista sconosciuto"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musica"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Tutta la musica"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genere"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artista"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Cartelle"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Scalette"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Video"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Tutti i video"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Immagini"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Tutte le immagni"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Data dello scatto"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Fotocamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Esplora cartelle"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Scansione di %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Scansione di %s finita (%llu file)\n"

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-07-23 15:57-0800\n"
"Last-Translator: r2d2 <ntgrr2d2@gmail.com>\n"
"Language-Team: Japanese\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "日付不明"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "カメラ名不明"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- すべてのアルバム -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "アルバム名不明"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- すべてのアーティスト -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "アーティスト名不明"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "ミュージック"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "すべてのミュージック"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "ジャンル"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "アーティスト"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "アルバム"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "フォルダ"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "プレイリスト"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "ビデオ"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "すべてのビデオ"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "写真"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "すべての写真"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "撮影日"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "カメラ"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "フォルダ"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "%s を検索中\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "%s (%llu ファイル) の検索終了!\n"

View File

@ -21,102 +21,103 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr ""
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr ""
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr ""
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr ""
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr ""
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr ""
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr ""
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr ""
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr ""
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr ""
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr ""
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr ""
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr ""
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr ""
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr ""
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr ""
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr ""
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr ""
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr ""
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr ""
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr ""
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr ""

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: samundsen <ReadyNAS Forum User>\n"
"Language-Team: Norwegian\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Ukjent dato"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Ukjent kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Alle album -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Ukjent album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Alle artister -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Ukjent artist"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musikk"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "All musikk"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artist"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Mapper"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Spillelister"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Video"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Alle videoer"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Bilder"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Alle bilder"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Fotodato"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Vis mapper"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Søker %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Søk %s ferdig (%llu filer)!\n"

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: frejac <ReadyNAS Forum User>\n"
"Language-Team: Swedish\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Datum onbekend"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Camera onbekend"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Alle albums -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Album onbekend"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Alle artiesten -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Artiest onbekend"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Muziek"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Alle muziek bestanden"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artiest"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Mappen"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Afspeellijst"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Video"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Alle video bestanden"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Foto's"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Alle foto bestanden"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Opname datum"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Camera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Mappen doorzoeken"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Zoeken %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Zoeken %s gereed (%llu files)!\n"

View File

@ -20,102 +20,103 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-10-19 11:00-0800\n"
"Last-Translator: Tomasz.Matuszewski <tomasz.matuszewski@tomuservice.com>\n"
"Language-Team: Polski\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Nieznana Data"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Nieznana Kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Wszystkie Albumy -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Nieznany Album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Wszyscy Wykonawcy -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Nieznany Wykonawca"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Muzyka"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Wszystkie Utwory"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Rodzaj"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Wykonawca"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Folder"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Lista Utworow"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Filmy"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Wszystkie Filmy"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Obrazy"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Wszystkie Obrazy"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Data Wykonania"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Przegladaj Foldery"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Skanowanie %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Skanowanie %s zakonczone (%llu files)!\n"

View File

@ -20,9 +20,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2011-03-25 22:40+0500\n"
"Last-Translator: Ivan Mironov <ivan.mironov@infra-it.ru>\n"
"Language-Team: \n"
@ -33,92 +33,92 @@ msgstr ""
"X-Poedit-Language: Russian\n"
"X-Poedit-Country: RUSSIAN FEDERATION\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Неизвестная Дата"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Неизвестная Камера"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Все Альбомы -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Неизвестный Альбом"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Все Исполнители -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Неизвестный Исполнитель"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Музыка"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Вся Музыка"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Жанр"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Исполнитель"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Альбом"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Папки"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Списки Воспроизведения"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Видео"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Всё Видео"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Фотографии"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Все Фотографии"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Дата Съёмки"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Камера"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Просмотреть Папки"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Сканирование %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Сканирование %s завершено (%llu файлов)!\n"

View File

@ -20,9 +20,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-10-19 11:00-0800\n"
"Last-Translator: Bojan.Krstic <bojan.krstic977@gmail.com>\n"
"Language-Team: Slovenski\n"
@ -31,92 +31,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Neznan Datum"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Neznana Kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Vsi Albumi -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Neznan Album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Vsi Izvajalci -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Neznan Izvajalec"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Glasba"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "Vsa Glasba"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Zvrst"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Izvajalec"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Mape"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Seznami predvajanj"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Video"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Vsi Videi"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Slike"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Vse Slike"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Datum Posnetka"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Prebrskaj Mape"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Skeniranje %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Skeniranje %s konèano (%llu files)!\n"

View File

@ -5,9 +5,9 @@
#
msgid ""
msgstr ""
"Project-Id-Version: minidlna 1.0.18\n"
"Project-Id-Version: minidlna 1.1.0\n"
"Report-Msgid-Bugs-To: jmaggard@users.sourceforge.net\n"
"POT-Creation-Date: 2010-07-19 10:50-0700\n"
"POT-Creation-Date: 2013-06-12 16:46+0200\n"
"PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: frejac <ReadyNAS Forum User>\n"
"Language-Team: Swedish\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163
#: scanner.c:165
msgid "Unknown Date"
msgstr "Okänt datum"
#: scanner.c:191
#: scanner.c:167
msgid "Unknown Camera"
msgstr "Okänd kamera"
#: scanner.c:282
#: scanner.c:277
msgid "- All Albums -"
msgstr "- Alla album -"
#: scanner.c:290 scanner.c:297 scanner.c:300
#: scanner.c:285 scanner.c:292 scanner.c:296
msgid "Unknown Album"
msgstr "Okänt album"
#: scanner.c:323
#: scanner.c:318
msgid "- All Artists -"
msgstr "- Alla artister -"
#: scanner.c:331 scanner.c:337 scanner.c:340
#: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist"
msgstr "Okänd artist"
#: scanner.c:543
#: scanner.c:528
msgid "Music"
msgstr "Musik"
#: scanner.c:544
#: scanner.c:529
msgid "All Music"
msgstr "All Musik"
#: scanner.c:545
#: scanner.c:530
msgid "Genre"
msgstr "Genre"
#: scanner.c:546
#: scanner.c:531
msgid "Artist"
msgstr "Artist"
#: scanner.c:547
#: scanner.c:532
msgid "Album"
msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557
#: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders"
msgstr "Mappar"
#: scanner.c:549
#: scanner.c:534
msgid "Playlists"
msgstr "Spelningslistor"
#: scanner.c:550
#: scanner.c:536
msgid "Video"
msgstr "Film"
#: scanner.c:551
#: scanner.c:537
msgid "All Video"
msgstr "Alla filmer"
#: scanner.c:553
#: scanner.c:540
msgid "Pictures"
msgstr "Bilder"
#: scanner.c:554
#: scanner.c:541
msgid "All Pictures"
msgstr "Alla bilder"
#: scanner.c:555
#: scanner.c:542
msgid "Date Taken"
msgstr "Fotodatum"
#: scanner.c:556
#: scanner.c:543
msgid "Camera"
msgstr "Kamera"
#: scanner.c:558
#: scanner.c:546
msgid "Browse Folders"
msgstr "Utforska mappar"
#: scanner.c:721
#: scanner.c:690
#, c-format
msgid "Scanning %s\n"
msgstr "Söker %s\n"
#: scanner.c:789
#: scanner.c:766
#, c-format
msgid "Scanning %s finished (%llu files)!\n"
msgstr "Avsökning %s slutförd (%llu filer)!\n"

View File

@ -1,7 +1,8 @@
/* MiniUPnP project
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
/* Process handling
*
* Copyright © 2006, Thomas Bernard
* Copyright © 2013, Benoît Knecht <benoit.knecht@fsfe.org>
*
* Copyright (c) 2006, Thomas Bernard
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -35,19 +36,45 @@
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <sys/wait.h>
#include "daemonize.h"
#include "process.h"
#include "config.h"
#include "log.h"
static const int max_number_of_children = 5;
static int number_of_children = 0;
pid_t
process_fork(void)
{
if (number_of_children >= max_number_of_children)
{
errno = EAGAIN;
return -1;
}
pid_t pid = fork();
if (pid > 0)
++number_of_children;
return pid;
}
void
process_handle_child_termination(int signal)
{
waitpid(-1, NULL, WNOHANG);
--number_of_children;
}
int
daemonize(void)
process_daemonize(void)
{
int pid;
#ifndef USE_DAEMON
int i;
switch(fork())
switch(process_fork())
{
/* fork error */
case -1:
@ -87,7 +114,7 @@ daemonize(void)
}
int
checkforrunning(const char * fname)
process_check_if_running(const char *fname)
{
char buffer[64];
int pidfile;
@ -117,4 +144,3 @@ checkforrunning(const char * fname)
return 0;
}

View File

@ -1,7 +1,7 @@
/* MiniUPnP project
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
/* Process handling
*
* Copyright © 2013, Benoît Knecht <benoit.knecht@fsfe.org>
*
* Copyright (c) 2006, Thomas Bernard
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -26,24 +26,41 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef __DAEMONIZE_H__
#define __DAEMONIZE_H__
#ifndef __PROCESS_H__
#define __PROCESS_H__
#include "config.h"
#include <unistd.h>
/* daemonize()
* "fork" to background, detach from terminal, etc...
* returns: pid of the daemon, exits upon failure */
int
daemonize(void);
/**
* Fork a new child (just like fork()) but keep track of how many childs are
* already running, and refuse fo fork if there are too many.
* @return -1 if it couldn't fork, 0 in the child process, the pid of the
* child process in the parent process.
*/
pid_t process_fork(void);
/* checkforrunning()
* check for another instance running
* returns: 0 only instance
* -1 invalid filename
* -2 another instance running */
int
checkforrunning(const char * fname);
/**
* Handler to be called upon receiving SIGCHLD. This signal is received by the
* parent process when a child terminates, and this handler updates the number
* of running childs accordingly.
* @param signal The signal number.
*/
void process_handle_child_termination(int signal);
#endif
/**
* Daemonize the current process by forking itself and redirecting standard
* input, standard output and standard error to /dev/null.
* @return The pid of the process.
*/
int process_daemonize(void);
/**
* Check if the process corresponding to the pid found in the pid file is
* running.
* @param fname The path to the pid file.
* @return 0 if no other instance is running, -1 if the file name is invalid,
* -2 if another instance is running.
*/
int process_check_if_running(const char *fname);
#endif // __PROCESS_H__

View File

@ -78,6 +78,7 @@
#include "tivo_utils.h"
#include "tivo_commands.h"
#include "clients.h"
#include "process.h"
#include "sendfile.h"
@ -1579,8 +1580,8 @@ SendResp_resizedimg(struct upnphttp * h, char * object)
#if USE_FORK
pid_t newpid = 0;
newpid = fork();
if( newpid )
newpid = process_fork();
if( newpid > 0 )
{
CloseSocket_upnphttp(h);
goto resized_error;
@ -1723,7 +1724,7 @@ SendResp_resizedimg(struct upnphttp * h, char * object)
resized_error:
sqlite3_free_table(result);
#if USE_FORK
if( !newpid )
if( newpid == 0 )
_exit(0);
#endif
}
@ -1816,8 +1817,8 @@ SendResp_dlnafile(struct upnphttp *h, char *object)
sqlite3_free_table(result);
}
#if USE_FORK
newpid = fork();
if( newpid )
newpid = process_fork();
if( newpid > 0 )
{
CloseSocket_upnphttp(h);
goto error;
@ -1958,7 +1959,7 @@ SendResp_dlnafile(struct upnphttp *h, char *object)
CloseSocket_upnphttp(h);
error:
#if USE_FORK
if( !newpid )
if( newpid == 0 )
_exit(0);
#endif
return;