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 check_PROGRAMS = testupnpdescgen
minidlnad_SOURCES = minidlna.c upnphttp.c upnpdescgen.c upnpsoap.c \ minidlnad_SOURCES = minidlna.c upnphttp.c upnpdescgen.c upnpsoap.c \
upnpreplyparse.c minixml.c clients.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 \ options.c minissdp.c uuid.c upnpevents.c \
sql.c utils.c metadata.c scanner.c inotify.c \ sql.c utils.c metadata.c scanner.c inotify.c \
tivo_utils.c tivo_beacon.c tivo_commands.c \ tivo_utils.c tivo_beacon.c tivo_commands.c \

View File

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

View File

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

View File

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

View File

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

View File

@ -5,103 +5,103 @@
# #
msgid "" msgid ""
msgstr "" 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" "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" "PO-Revision-Date: 2013-06-12 16:56+0200\n"
"Last-Translator: super-poussin <ReadyNAS Forum User>\n" "Last-Translator: Benoît Knecht <benoit.knecht@fsfe.org>\n"
"Language-Team: French\n" "Language-Team: French\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163 #: scanner.c:165
msgid "Unknown Date" msgid "Unknown Date"
msgstr "Date Inconnue" msgstr "Date inconnue"
#: scanner.c:191 #: scanner.c:167
msgid "Unknown Camera" msgid "Unknown Camera"
msgstr "Camera Inconnue" msgstr "Caméra inconnue"
#: scanner.c:282 #: scanner.c:277
msgid "- All Albums -" 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" msgid "Unknown Album"
msgstr "Album Inconnu" msgstr "Album inconnu"
#: scanner.c:323 #: scanner.c:318
msgid "- All Artists -" 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" msgid "Unknown Artist"
msgstr "Artiste Inconnu" msgstr "Artiste inconnu"
#: scanner.c:543 #: scanner.c:528
msgid "Music" msgid "Music"
msgstr "Musique" msgstr "Musique"
#: scanner.c:544 #: scanner.c:529
msgid "All Music" msgid "All Music"
msgstr "Toute la Musique" msgstr "Toute la musique"
#: scanner.c:545 #: scanner.c:530
msgid "Genre" msgid "Genre"
msgstr "Genre" msgstr "Genre"
#: scanner.c:546 #: scanner.c:531
msgid "Artist" msgid "Artist"
msgstr "Artiste" msgstr "Artiste"
#: scanner.c:547 #: scanner.c:532
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557 #: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders" msgid "Folders"
msgstr "Dossiers" msgstr "Dossiers"
#: scanner.c:549 #: scanner.c:534
msgid "Playlists" msgid "Playlists"
msgstr "Liste de Lecture" msgstr "Liste de lecture"
#: scanner.c:550 #: scanner.c:536
msgid "Video" msgid "Video"
msgstr "Vidéo" msgstr "Vidéo"
#: scanner.c:551 #: scanner.c:537
msgid "All Video" msgid "All Video"
msgstr "Toutes les Vidéos" msgstr "Toutes les vidéos"
#: scanner.c:553 #: scanner.c:540
msgid "Pictures" msgid "Pictures"
msgstr "Images" msgstr "Images"
#: scanner.c:554 #: scanner.c:541
msgid "All Pictures" msgid "All Pictures"
msgstr "Toutes les Images" msgstr "Toutes les images"
#: scanner.c:555 #: scanner.c:542
msgid "Date Taken" msgid "Date Taken"
msgstr "Date de Prise" msgstr "Date de prise"
#: scanner.c:556 #: scanner.c:543
msgid "Camera" msgid "Camera"
msgstr "Camera" msgstr "Caméra"
#: scanner.c:558 #: scanner.c:546
msgid "Browse Folders" msgid "Browse Folders"
msgstr "Parcourir les Dossiers" msgstr "Parcourir les dossiers"
#: scanner.c:721 #: scanner.c:690
#, c-format #, c-format
msgid "Scanning %s\n" msgid "Scanning %s\n"
msgstr "Analyse de %s\n" msgstr "Analyse de %s\n"
#: scanner.c:789 #: scanner.c:766
#, c-format #, c-format
msgid "Scanning %s finished (%llu files)!\n" 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 "" msgid ""
msgstr "" 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" "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" "PO-Revision-Date: 2010-11-01 10:04+0100\n"
"Last-Translator: Andrea Musuruane <musuruan@gmail.com>\n" "Last-Translator: Andrea Musuruane <musuruan@gmail.com>\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
@ -18,92 +18,92 @@ msgstr ""
"X-Poedit-Language: Italian\n" "X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n" "X-Poedit-Country: ITALY\n"
#: scanner.c:163 #: scanner.c:165
msgid "Unknown Date" msgid "Unknown Date"
msgstr "Data sconosciuta" msgstr "Data sconosciuta"
#: scanner.c:191 #: scanner.c:167
msgid "Unknown Camera" msgid "Unknown Camera"
msgstr "Fotocamera sconosciuta" msgstr "Fotocamera sconosciuta"
#: scanner.c:282 #: scanner.c:277
msgid "- All Albums -" msgid "- All Albums -"
msgstr "- Tutti gli album -" 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" msgid "Unknown Album"
msgstr "Album sconosciuto" msgstr "Album sconosciuto"
#: scanner.c:323 #: scanner.c:318
msgid "- All Artists -" msgid "- All Artists -"
msgstr "- Tutti gli artisti -" 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" msgid "Unknown Artist"
msgstr "Artista sconosciuto" msgstr "Artista sconosciuto"
#: scanner.c:543 #: scanner.c:528
msgid "Music" msgid "Music"
msgstr "Musica" msgstr "Musica"
#: scanner.c:544 #: scanner.c:529
msgid "All Music" msgid "All Music"
msgstr "Tutta la musica" msgstr "Tutta la musica"
#: scanner.c:545 #: scanner.c:530
msgid "Genre" msgid "Genre"
msgstr "Genere" msgstr "Genere"
#: scanner.c:546 #: scanner.c:531
msgid "Artist" msgid "Artist"
msgstr "Artista" msgstr "Artista"
#: scanner.c:547 #: scanner.c:532
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557 #: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders" msgid "Folders"
msgstr "Cartelle" msgstr "Cartelle"
#: scanner.c:549 #: scanner.c:534
msgid "Playlists" msgid "Playlists"
msgstr "Scalette" msgstr "Scalette"
#: scanner.c:550 #: scanner.c:536
msgid "Video" msgid "Video"
msgstr "Video" msgstr "Video"
#: scanner.c:551 #: scanner.c:537
msgid "All Video" msgid "All Video"
msgstr "Tutti i video" msgstr "Tutti i video"
#: scanner.c:553 #: scanner.c:540
msgid "Pictures" msgid "Pictures"
msgstr "Immagini" msgstr "Immagini"
#: scanner.c:554 #: scanner.c:541
msgid "All Pictures" msgid "All Pictures"
msgstr "Tutte le immagni" msgstr "Tutte le immagni"
#: scanner.c:555 #: scanner.c:542
msgid "Date Taken" msgid "Date Taken"
msgstr "Data dello scatto" msgstr "Data dello scatto"
#: scanner.c:556 #: scanner.c:543
msgid "Camera" msgid "Camera"
msgstr "Fotocamera" msgstr "Fotocamera"
#: scanner.c:558 #: scanner.c:546
msgid "Browse Folders" msgid "Browse Folders"
msgstr "Esplora cartelle" msgstr "Esplora cartelle"
#: scanner.c:721 #: scanner.c:690
#, c-format #, c-format
msgid "Scanning %s\n" msgid "Scanning %s\n"
msgstr "Scansione di %s\n" msgstr "Scansione di %s\n"
#: scanner.c:789 #: scanner.c:766
#, c-format #, c-format
msgid "Scanning %s finished (%llu files)!\n" msgid "Scanning %s finished (%llu files)!\n"
msgstr "Scansione di %s finita (%llu file)\n" msgstr "Scansione di %s finita (%llu file)\n"

View File

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

View File

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

View File

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

View File

@ -5,9 +5,9 @@
# #
msgid "" msgid ""
msgstr "" 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" "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" "PO-Revision-Date: 2010-08-09 17:00-0700\n"
"Last-Translator: frejac <ReadyNAS Forum User>\n" "Last-Translator: frejac <ReadyNAS Forum User>\n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
@ -16,92 +16,92 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: scanner.c:163 #: scanner.c:165
msgid "Unknown Date" msgid "Unknown Date"
msgstr "Datum onbekend" msgstr "Datum onbekend"
#: scanner.c:191 #: scanner.c:167
msgid "Unknown Camera" msgid "Unknown Camera"
msgstr "Camera onbekend" msgstr "Camera onbekend"
#: scanner.c:282 #: scanner.c:277
msgid "- All Albums -" msgid "- All Albums -"
msgstr "- Alle 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" msgid "Unknown Album"
msgstr "Album onbekend" msgstr "Album onbekend"
#: scanner.c:323 #: scanner.c:318
msgid "- All Artists -" msgid "- All Artists -"
msgstr "- Alle artiesten -" msgstr "- Alle artiesten -"
#: scanner.c:331 scanner.c:337 scanner.c:340 #: scanner.c:326 scanner.c:332 scanner.c:336
msgid "Unknown Artist" msgid "Unknown Artist"
msgstr "Artiest onbekend" msgstr "Artiest onbekend"
#: scanner.c:543 #: scanner.c:528
msgid "Music" msgid "Music"
msgstr "Muziek" msgstr "Muziek"
#: scanner.c:544 #: scanner.c:529
msgid "All Music" msgid "All Music"
msgstr "Alle muziek bestanden" msgstr "Alle muziek bestanden"
#: scanner.c:545 #: scanner.c:530
msgid "Genre" msgid "Genre"
msgstr "Genre" msgstr "Genre"
#: scanner.c:546 #: scanner.c:531
msgid "Artist" msgid "Artist"
msgstr "Artiest" msgstr "Artiest"
#: scanner.c:547 #: scanner.c:532
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: scanner.c:548 scanner.c:552 scanner.c:557 #: scanner.c:533 scanner.c:538 scanner.c:544
msgid "Folders" msgid "Folders"
msgstr "Mappen" msgstr "Mappen"
#: scanner.c:549 #: scanner.c:534
msgid "Playlists" msgid "Playlists"
msgstr "Afspeellijst" msgstr "Afspeellijst"
#: scanner.c:550 #: scanner.c:536
msgid "Video" msgid "Video"
msgstr "Video" msgstr "Video"
#: scanner.c:551 #: scanner.c:537
msgid "All Video" msgid "All Video"
msgstr "Alle video bestanden" msgstr "Alle video bestanden"
#: scanner.c:553 #: scanner.c:540
msgid "Pictures" msgid "Pictures"
msgstr "Foto's" msgstr "Foto's"
#: scanner.c:554 #: scanner.c:541
msgid "All Pictures" msgid "All Pictures"
msgstr "Alle foto bestanden" msgstr "Alle foto bestanden"
#: scanner.c:555 #: scanner.c:542
msgid "Date Taken" msgid "Date Taken"
msgstr "Opname datum" msgstr "Opname datum"
#: scanner.c:556 #: scanner.c:543
msgid "Camera" msgid "Camera"
msgstr "Camera" msgstr "Camera"
#: scanner.c:558 #: scanner.c:546
msgid "Browse Folders" msgid "Browse Folders"
msgstr "Mappen doorzoeken" msgstr "Mappen doorzoeken"
#: scanner.c:721 #: scanner.c:690
#, c-format #, c-format
msgid "Scanning %s\n" msgid "Scanning %s\n"
msgstr "Zoeken %s\n" msgstr "Zoeken %s\n"
#: scanner.c:789 #: scanner.c:766
#, c-format #, c-format
msgid "Scanning %s finished (%llu files)!\n" msgid "Scanning %s finished (%llu files)!\n"
msgstr "Zoeken %s gereed (%llu files)!\n" msgstr "Zoeken %s gereed (%llu files)!\n"

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,8 @@
/* MiniUPnP project /* Process handling
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ *
* Copyright © 2006, Thomas Bernard
* Copyright © 2013, Benoît Knecht <benoit.knecht@fsfe.org>
* *
* Copyright (c) 2006, Thomas Bernard
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -35,48 +36,74 @@
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
#include <signal.h> #include <signal.h>
#include <sys/wait.h>
#include "daemonize.h" #include "process.h"
#include "config.h" #include "config.h"
#include "log.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 int
daemonize(void) process_daemonize(void)
{ {
int pid; int pid;
#ifndef USE_DAEMON #ifndef USE_DAEMON
int i; int i;
switch(fork()) switch(process_fork())
{ {
/* fork error */ /* fork error */
case -1: case -1:
perror("fork()"); perror("fork()");
exit(1);
/* child process */
case 0:
/* obtain a new process group */
if( (pid = setsid()) < 0)
{
perror("setsid()");
exit(1); exit(1);
}
/* close all descriptors */ /* child process */
for (i=getdtablesize();i>=0;--i) close(i); case 0:
/* obtain a new process group */
if( (pid = setsid()) < 0)
{
perror("setsid()");
exit(1);
}
i = open("/dev/null",O_RDWR); /* open stdin */ /* close all descriptors */
dup(i); /* stdout */ for (i=getdtablesize();i>=0;--i) close(i);
dup(i); /* stderr */
umask(027); i = open("/dev/null",O_RDWR); /* open stdin */
chdir("/"); dup(i); /* stdout */
dup(i); /* stderr */
break; umask(027);
/* parent process */ chdir("/");
default:
exit(0); break;
/* parent process */
default:
exit(0);
} }
#else #else
if( daemon(0, 0) < 0 ) if( daemon(0, 0) < 0 )
@ -87,7 +114,7 @@ daemonize(void)
} }
int int
checkforrunning(const char * fname) process_check_if_running(const char *fname)
{ {
char buffer[64]; char buffer[64];
int pidfile; int pidfile;
@ -117,4 +144,3 @@ checkforrunning(const char * fname)
return 0; return 0;
} }

View File

@ -1,7 +1,7 @@
/* MiniUPnP project /* Process handling
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ *
* Copyright © 2013, Benoît Knecht <benoit.knecht@fsfe.org>
* *
* Copyright (c) 2006, Thomas Bernard
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * 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 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef __DAEMONIZE_H__ #ifndef __PROCESS_H__
#define __DAEMONIZE_H__ #define __PROCESS_H__
#include "config.h" #include <unistd.h>
/* daemonize() /**
* "fork" to background, detach from terminal, etc... * Fork a new child (just like fork()) but keep track of how many childs are
* returns: pid of the daemon, exits upon failure */ * already running, and refuse fo fork if there are too many.
int * @return -1 if it couldn't fork, 0 in the child process, the pid of the
daemonize(void); * child process in the parent process.
*/
pid_t process_fork(void);
/* checkforrunning() /**
* check for another instance running * Handler to be called upon receiving SIGCHLD. This signal is received by the
* returns: 0 only instance * parent process when a child terminates, and this handler updates the number
* -1 invalid filename * of running childs accordingly.
* -2 another instance running */ * @param signal The signal number.
int */
checkforrunning(const char * fname); 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_utils.h"
#include "tivo_commands.h" #include "tivo_commands.h"
#include "clients.h" #include "clients.h"
#include "process.h"
#include "sendfile.h" #include "sendfile.h"
@ -1579,8 +1580,8 @@ SendResp_resizedimg(struct upnphttp * h, char * object)
#if USE_FORK #if USE_FORK
pid_t newpid = 0; pid_t newpid = 0;
newpid = fork(); newpid = process_fork();
if( newpid ) if( newpid > 0 )
{ {
CloseSocket_upnphttp(h); CloseSocket_upnphttp(h);
goto resized_error; goto resized_error;
@ -1723,7 +1724,7 @@ SendResp_resizedimg(struct upnphttp * h, char * object)
resized_error: resized_error:
sqlite3_free_table(result); sqlite3_free_table(result);
#if USE_FORK #if USE_FORK
if( !newpid ) if( newpid == 0 )
_exit(0); _exit(0);
#endif #endif
} }
@ -1816,8 +1817,8 @@ SendResp_dlnafile(struct upnphttp *h, char *object)
sqlite3_free_table(result); sqlite3_free_table(result);
} }
#if USE_FORK #if USE_FORK
newpid = fork(); newpid = process_fork();
if( newpid ) if( newpid > 0 )
{ {
CloseSocket_upnphttp(h); CloseSocket_upnphttp(h);
goto error; goto error;
@ -1958,7 +1959,7 @@ SendResp_dlnafile(struct upnphttp *h, char *object)
CloseSocket_upnphttp(h); CloseSocket_upnphttp(h);
error: error:
#if USE_FORK #if USE_FORK
if( !newpid ) if( newpid == 0 )
_exit(0); _exit(0);
#endif #endif
return; return;