On Wed, May 20, 2009 at 2:38 PM, Fons Adriaensen <[email protected]> wrote: > On Tue, May 19, 2009 at 04:23:30PM +0200, Stéphane Letz wrote: >> A picture to try summary what I understand about we would like : >> > >> - "jackcontrol" is an *always" running deamon that defined an entry IPC >> point. jackcontrol get requests from control applications. "jackcontrol" >> can start a seprated server called "jackserver (using a fork+exec) way. >> "jackcontrol" is a *unique* place where setting are handled. >> >> - "jackd" is a recoded control application that parse it's command line, >> and use the control IPC to speak to "jackcontrol" (then just quits). >> jackcontrol then start the "jackserver" whith the appropriate paramaters. > > You don't need this jackd. If all the IPC is in libjack, an > autostart request can be passed directly to jackcontrol without > creating a transient process. > > 1. Client uses jack_client_open() with autostart. > 2. Libjack doesn't find the server > 3. Libjack sends 'start server' to jackcontrol > 4. jackcontrol starts the server > 5. jackcontrol notifies libjack > 6. The jack_client_open() call proceeds. > > Between 3 and 5 the thread doing the original call > (i.e. the client's thread) just waits within libjack > for the ok/fail message from jackcontrol.
Don't forget a timeout in case the fork/exec fails and there is no message. -- joq _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
