Fix: Send tones/patterns/announcements for remote connections
[lcr.git] / main.c
diff --git a/main.c b/main.c
index 7290af9..140fc50 100644 (file)
--- a/main.c
+++ b/main.c
@@ -332,11 +332,13 @@ int main(int argc, char *argv[])
                nooutput = 1;
 
                /* write pid file */
-               pidfile = fopen("/var/run/lcr.pid","w");
+               SPRINT(lock, "%s/lcr.pid", options.lock);
+               pidfile = fopen(lock,"w");
                if (pidfile) {
                        fprintf(pidfile, "%d\n", getpid());
                        fclose(pidfile);
-               }
+               } else
+                       fprintf(stderr, "Failed to create PID file: %s\n", lock);
        } else
        /* if not start */
        if (!!strcasecmp(argv[1],"start")) {
@@ -579,8 +581,10 @@ free:
        if (created_lock)
                flock(lockfd, LOCK_UN);
        if (lockfd >= 0) {
-               chmod(lock, 0700);
-               unlink(lock);
+               if (created_lock) {
+                       chmod(lock, 0700);
+                       unlink(lock);
+               }
                close(lockfd);
        }
 
@@ -625,12 +629,6 @@ exit is done when interface is down
        sip_exit();
 #endif
 
-#ifdef WITH_MISDN
-       /* close loopback, if used by GSM or remote */
-       if (mISDNloop.sock > -1)
-               mISDNloop_close();
-#endif
-
        /* display memory leak */
 #define MEMCHECK(a, b) \
        if (b) { \