-
Notifications
You must be signed in to change notification settings - Fork 222
-
Notifications
You must be signed in to change notification settings - Fork 222
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
Save client settings on SIGUSR1 #294
Comments
@pljones I think you are the expert to answer the above question. |
The client has no signal handling. |
Who defines that settings are saved on SIGUSR1? According to https://en.wikipedia.org/wiki/Signal_(IPC) : "The SIGUSR1 and SIGUSR2 signals are sent to a process to indicate user-defined conditions.". So it is not defined what to do on SIGUSR1. |
You are right. Ladish and non-session-manager are session management protocols. With this session manager, you can open, record the state of a bunch of application, or close them in one click. Useful for complex virtual studio setup. When the session management is not implemented natively by an application, it can work with signal handling such as SIGUSR1 or SIGUSR2 ... see my first post. |
Recently we have implemented that the settings are stored if you use the SIGTERM signal: #70 |
Oh, I did that already, did I? So many things happening... SIGUSR1 / SIGUSR2 are already in use in Jamulus (for controlling the Jam Recorder). Given that "Settings" applies to both client and server, it would be best if any signal chosen worked the same way for both. I'd suggest SIGHUP. In my head I've a total overhaul of settings management... It also relates to the Server GUI enhancement work. |
All the signal handled by the protocol for saving are: SIGUSR1, SIGUSR2 and SIGINT It would be nice if you could choose one of them. |
These are defined already:
For any controls unrelated to recording, different signals need to be used. Remember that the server has settings as well. Given that SIGINT is what terminal Control C sends to end a program, I don't think that's a good idea if you want the program to keep running. So I think SIGHUP is probably the best bet. |
OK i will write a wrapper script that when receiving a SIGUSR1 from raysession send a SIGHUP to Jamulus. |
Actually, had this been raised (again) at just the right time, it might have won ... #120 (comment) ... There had previously been a claim on SIGUSR1/2 over settings. That's the problem with "user-defined conditions". (At least we're not trying to monitor dBus.) For "settings" as a topic, I have a list:
|
My plan is to clean up the settings. I started creating different classes for client/server. More work to do in that area, soon. Then I want to deal with the problem that if the server GUI is used, some command line arguments are overwritten, which is not a good behavior. |
Yep, I had started on the same thing but I'm very happy to drop it :). |
See my following comment: #347 (comment) |
When using a session manager, there are four actions to handle:
We are talking about client settings but this could apply to server settings too. I use RaySession as session manager available on Linux. |
See my comment #347 (comment) and the following discussion. |
As in the following comment: #347 (comment) I will close this issue now. |
Hello,
I'm using Jamulus in a RaySession setup (audio session manager) and it can save all applications in one click.
It seems that client settings are not saved on SIGUSR1. Is that right ?
Notes: Ladish works with SIGUSR1 and non-session-manager can work with SIGUSR1 / SIGUSR2 / SIGINT if nsm protocol is not supported.
BR,
Laurent
The text was updated successfully, but these errors were encountered: