On 07/03/2011 03:01 PM, Paul Davis wrote:
On Sun, Jul 3, 2011 at 8:51 AM, Robin Gareus
<robin(a)linuxaudio.org> wrote:
Every program (on un*x) can be "quit w/o
save" without requiring changes
to the program: just send it a `kill -9` :-))
if (request.type == QuitWithoutSave) {
kill (getpid(), SIGKILL);
}
oops, you didn't reply to the session manager, which wants to know how
to restart you.
ok, so we leave it to the SM to kill you ... but using SIGKILL for
this is about as bad as LADISH using SIGUSR1 for its own purposes.
which is to say - it works, but its Not Unix :)
I should have known that you already considered this option.
Alas, jackd
may or may not bark (xrun) if a program is killed without
properly closing its jack connection; but that's acceptable in that case
(closing the session anyway).
I think that the SM should tell JACK to stop calling process(), somehow.
Well, sometimes one does not to see the wood for the trees..
Is "quit w/o save" really needed? IMHO a smarter way would be to
"auto-save" the session every e.g. 5 mins and add keep those as
revisions in a repository.
JACK does not require additional code, all functionality would be done
by the session-management tool. A "quit w/o save" would just "quit with
save" and then roll-back to the last saved session state or snapshot (if
any).
2c,
robin