summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-08-11 02:39:49 +0200
committerAylur <[email protected]>2024-08-11 02:39:49 +0200
commitc52e41429004c01aceb0d549b5feffdb3f6ec65a (patch)
treecf8df436ab4015e2aa567bd97421ff7f81e0b0c0 /src
parentc6b669f0ed6aaa0383b2b0107e3004bc5b716ecd (diff)
fix: dangling socket on crash
check running instance through dbus
Diffstat (limited to 'src')
-rw-r--r--src/astal.vala13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/astal.vala b/src/astal.vala
index 80ad047..316da6b 100644
--- a/src/astal.vala
+++ b/src/astal.vala
@@ -126,12 +126,21 @@ public class Application : Gtk.Application {
*/
[DBus (visible=false)]
public bool acquire_socket() {
+ foreach (var instance in get_instances()) {
+ if (instance == instance_name) {
+ return false;
+ }
+ }
+
var rundir = GLib.Environment.get_user_runtime_dir();
socket_path = @"$rundir/$instance_name.sock";
if (FileUtils.test(socket_path, GLib.FileTest.EXISTS)) {
- info("socket %s exists", socket_path);
- return false;
+ try {
+ File.new_for_path(socket_path).delete(null);
+ } catch (Error err) {
+ critical(err.message);
+ }
}
try {