-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FvwmMFL: FVWMMFL_SOCKET needs rethinking #995
Labels
relates:module
Issue is in module code
type:breaking
Issue is not backwards-compatible and will break configs/build
Milestone
Comments
ThomasAdam
added
type:breaking
Issue is not backwards-compatible and will break configs/build
relates:module
Issue is in module code
labels
Apr 4, 2024
ThomasAdam
added a commit
that referenced
this issue
May 5, 2024
Currently, it's possible to change the listening socket for FvwmMFL via an environment variable, FVWMMFL_SOCKET. The reasons for this is that it makes it easier to move the socket path to different locations away from /tmp, to, say, $FVWM_USERDIR. However, this single environment variable is reused across different running fvwm instances which means commands sent via FvwmPrompt or FvwmCommand end up going to the wrong fvwm instance, as it's a case of whichever process reads that first, is sent to the DISPLAY that fvwm is running on. Therefore, set FVWMMFL_SOCKET_PATH to a base directory, under which, namespaced directories per DISPLAY for the relevant FvwmMFL sockets can be created. Fixes #995
ThomasAdam
added a commit
that referenced
this issue
May 5, 2024
Currently, it's possible to change the listening socket for FvwmMFL via an environment variable, FVWMMFL_SOCKET. The reasons for this is that it makes it easier to move the socket path to different locations away from /tmp, to, say, $FVWM_USERDIR. However, this single environment variable is reused across different running fvwm instances which means commands sent via FvwmPrompt or FvwmCommand end up going to the wrong fvwm instance, as it's a case of whichever process reads that first, is sent to the DISPLAY that fvwm is running on. Therefore, set FVWMMFL_SOCKET_PATH to a base directory, under which, namespaced directories per DISPLAY for the relevant FvwmMFL sockets can be created. Fixes #995
ThomasAdam
added a commit
that referenced
this issue
May 5, 2024
Currently, it's possible to change the listening socket for FvwmMFL via an environment variable, FVWMMFL_SOCKET. The reasons for this is that it makes it easier to move the socket path to different locations away from /tmp, to, say, $FVWM_USERDIR. However, this single environment variable is reused across different running fvwm instances which means commands sent via FvwmPrompt or FvwmCommand end up going to the wrong fvwm instance, as it's a case of whichever process reads that first, is sent to the DISPLAY that fvwm is running on. Therefore, set FVWMMFL_SOCKET_PATH to a base directory, under which, namespaced directories per DISPLAY for the relevant FvwmMFL sockets can be created. Fixes #995
ThomasAdam
added a commit
that referenced
this issue
May 5, 2024
Currently, it's possible to change the listening socket for FvwmMFL via an environment variable, FVWMMFL_SOCKET. The reasons for this is that it makes it easier to move the socket path to different locations away from /tmp, to, say, $FVWM_USERDIR. However, this single environment variable is reused across different running fvwm instances which means commands sent via FvwmPrompt or FvwmCommand end up going to the wrong fvwm instance, as it's a case of whichever process reads that first, is sent to the DISPLAY that fvwm is running on. Therefore, set FVWMMFL_SOCKET_PATH to a base directory, under which, namespaced directories per DISPLAY for the relevant FvwmMFL sockets can be created. Fixes #995
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
relates:module
Issue is in module code
type:breaking
Issue is not backwards-compatible and will break configs/build
Currently, it's possible to change the listening socket for
FvwmMFL
via an environment variable,FVWMMFL_SOCKET
. The reasons for this is that it makes it easier to move the socket path to different locations away from/tmp
, to, say,$FVWM_USERDIR
.However, this single environment variable is reused across different running fvwm instances which means commands sent via FvwmPrompt or FvwmCommand end up going to the wrong fvwm instance, as it's a case of whichever process reads that first, is sent to the DISPLAY that fvwm is running on.
I think therefore, we should deprecate
FVWMMFL_SOCKET
, and replace it withFVWMMFL_SOCKET_PATH
which defaults toTMPDIR
(or/tmp
if not set). Hence:There is no requirement for the name of the socket to ever change, as it's namespaced to the DISPLAY it's running on, and there can only ever be one instance of that running per DISPLAY anyway.
It could be argued why even give the option of changing this if this
FVWMMFL_SOCKET_PATH
defaults to$TMPDIR
... it's a valid point, but there could be a few reasons -- if one's$FVWM_USERDIR
were on a NFS filesystem, there can be locking issues with sockets created on them, so having that elsewhere, on a non-NFS FS could make sense. Arguably, this uncommon though.Given
FVWMMFL_SOCKET
is currently used internally by fvwm, and by NsCDE, I consider this change to be low impact, but still a breaking change.The text was updated successfully, but these errors were encountered: