]> uap-core.de Git - uwplayer.git/commitdiff
cleanup instance socket when exiting the application
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 19 Sep 2025 14:54:56 +0000 (16:54 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 19 Sep 2025 14:54:56 +0000 (16:54 +0200)
application/settings.c
application/window.c

index 2503d9a42923fa046ebd089553382173eae11923..a2dc541a0ec1a694cb96f97bf2a21d280197388d 100644 (file)
@@ -33,6 +33,7 @@
 
 #include <sys/socket.h>
 #include <sys/un.h>
+#include <sys/stat.h>
 
 
 #include "main.h"
@@ -268,6 +269,14 @@ char *InstanceFilePath(Display *dp) {
 }
 
 int ConnectToInstance(const char *path) {
+    struct stat s;
+    if(stat(path, &s)) {
+        if(errno != ENOENT) {
+            fprintf(stderr, "cannot stat file %s: %s", path, strerror(errno));
+        }
+        return -1;
+    }
+    
     int fd = socket(AF_UNIX, SOCK_STREAM, 0);
     if(!fd) {
         return -1;
index 4d43cc3353e8df04effe6a5e42c405ae7efd968b..b72539f55a04931b82dbc50f4f477891881f375a 100644 (file)
@@ -632,6 +632,7 @@ static void FileOpenCB(Widget w, void *udata, void *cdata) {
 
 static void FileQuitCB(Widget w, void *udata, void *cdata) {
     WindowClosePlayer(main_window);
+    ShutdownInstanceSocket(XtDisplay(w));
     ApplicationExit();
 }