[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16157: 24.3.50; desktop-read doesn't claim the unused lock
From: |
Juri Linkov |
Subject: |
bug#16157: 24.3.50; desktop-read doesn't claim the unused lock |
Date: |
Tue, 04 Feb 2014 09:54:58 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) |
> When the previous session crashes or freezes, and .emacs.desktop.lock
> contains the PID of the previous process, then `desktop-read' asks
>
> Warning: desktop file appears to be in use by PID...
> Using it may cause conflicts. Use it anyway? (y or n) y
>
> But answering `y' doesn't claim the ownership of the lock,
> desktop-owner is still an old nonexistent process, and thus
> auto-saving doesn't save the desktop.
>
> Maybe `desktop-read' should call `desktop-claim-lock' in this case?
I guess the right thing to do here is what its comment suggests to do:
"mark it as in-use, to bother other desktop instances". Actually it
shouldn't bother other desktop instances when other instances crashed.
=== modified file 'lisp/desktop.el'
--- lisp/desktop.el 2014-01-01 07:43:34 +0000
+++ lisp/desktop.el 2014-02-04 07:53:37 +0000
@@ -1103,9 +1106,12 @@ (defun desktop-read (&optional dirname)
;; Evaluate desktop buffer and remember when it was modified.
(load (desktop-full-file-name) t t t)
(setq desktop-file-modtime (nth 5 (file-attributes
(desktop-full-file-name))))
- ;; If it wasn't already, mark it as in-use, to bother other
+ ;; If it wasn't already owned, mark it as in-use, to bother other
;; desktop instances.
- (unless owner
+ (unless (eq (emacs-pid) owner)
(condition-case nil
(desktop-claim-lock)
(file-error (message "Couldn't record use of desktop file")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#16157: 24.3.50; desktop-read doesn't claim the unused lock,
Juri Linkov <=