[linux-audio-dev] LASH and LASH_Terminal client flag problem

Florian Schmidt mista.tapas at gmx.net
Sun Nov 20 15:32:21 UTC 2005


Hi,

in the course of LASH'ifying jack_convolve  i stumbled across the
LASH_Terminal client flag which specifies to LASH that the client wants
to be run in its own terminal when the session is restored.

The code for this is in 

liblash/loader.c:121

The problem i see is: when the client in the term exits (either by means
of LASH telling it to, or by sending i.e. a SIGINT), it just drops to a
bash prompt instead of exiting the terminal.

For reference i have included the code in question below. I also wonder
why it is necessary to start another bash anyways? I tried to remove the
extra bash call and use xterm -e command_buffer directly, but then the
program doesn't even start correctly.

Any other thought on this?

static void
loader_exec_program_in_xterm(int argc, char **argv)
{
        size_t command_size;
        char *command_buffer;
        char *xterm_argv[6];

        command_size = get_command_size(argc, argv);

        command_buffer = lash_malloc(command_size);

        create_command(command_buffer, argc, argv);

        xterm_argv[0] = "xterm";
        xterm_argv[1] = "-e";
        xterm_argv[2] = "bash";
        xterm_argv[3] = "-c";
        xterm_argv[4] = command_buffer;
        xterm_argv[5] = NULL;

        /* execute it */
        execvp("xterm", xterm_argv);
...

Regards,
Flo

-- 
Palimm Palimm!
http://tapas.affenbande.org



More information about the Linux-audio-dev mailing list