Commit Graph

65 Commits

Author SHA1 Message Date
v9v
800488ca6f Replace flock with mkdir
flock is not supported on MacOS.

`mkdir` locks have a drawback: they are not cleaned up automatically. If the lock owner crashed before cleaning up the lock, the directory will stay in the filesystem and the lock will be never acquired by someone else. To avoid that, we create temporary locks (the lockdir name changes every 100 seconds). We grab two lock (N and N+1) to avoid the case where process A grabs lock N and process B grabs lock N+1 and both enter the critical section.
2019-07-08 15:58:42 +02:00
v9v
10e612d72c Handle missing flock
If flock is not installed, fall back to the thread-unsafe version.
2019-07-05 19:33:12 +02:00
v9v
721890d22f Fix race condition in autosave
Fixes the case where multiple tmux sessions call auto-save at the same time, which occasionally results in multiple instances of save_all() running in parallel and causing issues like #3 and tmux-plugins/tmux-resurrect#294.

The sequence in main() is:
1. Check enough_time_since_last_run_passed
2. Save
3. Update last_save_timestamp.

The race here is:
* process A finishes step 1 and is busy with step 2. The timestamp is not updated yet.
* process B comes to step 1, sees the old timestamp and proceeds to step 2, too.
2019-07-04 20:21:02 +02:00
90f4a00c41 Merge pull request #41 from neynt/master
Make user systemd dir if it doesn't exist
2017-10-19 12:18:10 +02:00
6ed3078f47 Make user systemd dir if it doesn't exist 2017-10-14 11:25:00 -04:00
63677088d9 Merge pull request #38 from JakobGM/patch-1
Use correct name for tmux configuration file
2017-09-29 14:50:59 +02:00
ed7669eadf Use correct name for tmux configuration file
Parts of the readme referred to `tmux.conf` instead of `.tmux.conf`. This has now been corrected.
2017-09-29 11:43:24 +02:00
499b6a7e4e Merge pull request #17 from jarosser06/rm_hardcoded_home
Replaced hardcoded home directory in Systemd ExecStop with HOME variable
2016-01-23 16:57:14 +01:00
438e50d54f replaced hardcoded home directory in Systemd ExecStop with HOME variable 2016-01-23 09:39:06 -06:00
d21e477f16 Added extra docs explaining systemd ExecStart quirks. 2016-01-09 16:28:49 +01:00
3ed7db77f2 Re-named tmux variable to maintain consistency. 2016-01-09 16:28:48 +01:00
328d070787 Removing debug opts. 2016-01-09 16:28:47 +01:00
409726b3f9 Updated docs. 2016-01-09 16:28:46 +01:00
53853713eb Swiched default command to new-session -d
- need the -d to start the server correctly as it does not have an emulator to
  attach the session to.
2016-01-09 16:28:45 +01:00
fb52a173b8 Switched to forking to better represent server nature of tmux.
- Also added RestartSec option to fix minor issues with restarts trying to
  start the server before it had fully shutdown.
2016-01-09 16:28:44 +01:00
b495ea2912 set default tmux start command to new-session 2016-01-09 16:28:44 +01:00
4b84886e86 Corrected some spelling. 2016-01-09 16:28:43 +01:00
5c252cfba9 Added docs for systemd usage. 2016-01-09 16:28:42 +01:00
65d627af30 Removed automatic restore as screwed pane organisation.
- this caused issues with the restore missing some processes and putting
  others in the wrong place.

- I think this may need some work with the tmux-resurrect plugin to fix if auto
  restore is to be used.
2016-01-09 16:28:41 +01:00
a9cbf68546 Added defaults for tmux start command variable. 2016-01-09 16:28:40 +01:00
05a4a827e5 initial stab at systemd support for tmux-continuum 2016-01-09 16:28:39 +01:00
15649e9d07 Merge pull request #15 from tmux-plugins/continuum_status
#{continuum_status} status line interpolation
2015-12-26 23:51:55 +01:00
d0cebe0804 Continuum status 2015-11-29 18:36:13 +01:00
460350fa36 Mention cygwin support in the readme 2015-10-08 18:46:50 +02:00
186c2b9e9b Move all docs to 'docs/' dir 2015-10-08 18:44:32 +02:00
4ca58931cc Readme update 2015-10-08 18:40:24 +02:00
bc202971db Extract docs to separate files 2015-10-08 18:38:27 +02:00
7d875dfabe Update plugin installation instructions 2015-08-10 20:35:34 +02:00
46e0e00234 v3.1.0 v3.1.0 2015-03-14 15:56:37 +01:00
d6ac017d1d Bugfix: do not count tmux source-file as tmux process
Do not count `tmux source-file .tmux.conf` as a tmux process when checking if
other tmux server is running.

Previously, this caused interpolation command not to be inserted into
`status-right` because `tmux source-file` was falsely detected as another tmux
server.
2015-03-14 15:55:00 +01:00
f821d353ea Bugfix: "auto restore" feature not working on tmux 1.9a 2015-02-20 23:20:10 +01:00
bdc47273d3 Properly quote scripts 2015-02-20 15:48:36 +01:00
886b373dcd v3.0.0 v3.0.0 2015-02-20 14:58:30 +01:00
0d68c0cdce Mention plugin rename in the readme 2015-02-20 14:58:12 +01:00
72e6bd7f9a Update readme 2015-02-20 14:15:43 +01:00
20a83738c0 Rename the plugin to 'tmux-continuum' 2015-02-20 13:38:09 +01:00
7f0e7268a6 v2.2.0 v2.2.0 2015-02-20 02:59:47 +01:00
e384ce1040 Document tmux multi-server behavior in the readme 2015-02-20 02:59:15 +01:00
c720876da0 Check if auto-save interpolation present before adding it 2015-02-20 02:06:24 +01:00
fb641881c2 Don't start auto-saving if another tmux server is running 2015-02-20 02:05:58 +01:00
297e5b6993 Improve initial plugin save delay 2015-02-20 00:56:48 +01:00
ab3e951cfa Do not auto-restore tmux env if there's another tmux server already running 2015-02-20 00:34:01 +01:00
4939459f33 Improve 'tmux auto start' readme 2015-02-19 22:58:10 +01:00
1acd25cff2 Change restore script function name 2015-02-19 13:53:23 +01:00
061f024c0a Bugfixes for Terminal.app and iTerm tmux start scripts 2015-02-19 13:43:41 +01:00
2ddf7b9c48 v2.1.0 v2.1.0 2015-02-18 16:52:43 +01:00
57226cfb97 Docs for tmux auto start feature 2015-02-18 16:52:14 +01:00
b82aa1d343 Bugfixes for launchd plist on OS X 2015-02-18 16:24:01 +01:00
dd82e770bd Enable customizing 'tmux auto start' for OS X 2015-02-18 15:14:11 +01:00
61ff39584a Enable easy 'tmux auto start' configuration 2015-02-17 17:13:48 +01:00