From c29cbbc55f273c4c2f99f55c85a0b4317b4e72ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Mon, 23 Jun 2008 17:59:28 +0000 Subject: [PATCH] If we can't create a pid-file, don't crash. Ticked #22 --- main.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/main.c b/main.c index be740824..6e22822e 100644 --- a/main.c +++ b/main.c @@ -149,8 +149,6 @@ main(int argc, char **argv) } } - printf("Tvheadend %s starting\n", htsversion); - config_open_by_prgname("tvheadend", cfgfile); if(forkaway) { @@ -159,8 +157,10 @@ main(int argc, char **argv) } pidfile = fopen("/var/run/tvhead.pid", "w+"); - fprintf(pidfile, "%d\n", getpid()); - fclose(pidfile); + if(pidfile != NULL) { + fprintf(pidfile, "%d\n", getpid()); + fclose(pidfile); + } grp = getgrnam(groupnam ?: "video"); if(grp != NULL) { @@ -178,6 +178,8 @@ main(int argc, char **argv) } umask(0); + } else { + printf("Tvheadend %s starting\n", htsversion); } openlog("tvheadend", LOG_PID, logfacility); @@ -216,8 +218,8 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "%s/dvbmuxes", settings_dir); mkdir(buf, 0777); - syslog(LOG_NOTICE, "Started HTS TV Headend, settings located in \"%s\"", - settings_dir); + syslog(LOG_NOTICE, "Started HTS TV Headend (%s), settings located in \"%s\"", + htsversion, settings_dir); dispatch_init();