[maemo-developers] [maemo-developers] using execl (how to run applications)

From: Eero Tamminen eero.tamminen at movial.fi
Date: Thu Dec 15 10:47:12 EET 2005
Hi,

>  execl("/bin/sh", "sh", "-c", "pplay", (char *)0);
>
> When I do this within a callback, as soon as the button is clicked
> the screen turns white and the script - and application - runs, but
> the UI is broken - hard to explain, but it's not drawn completely and
> the only function that seems to work is to close the program.
> At which point, the 770 reboots.

Based on the symptoms, I would assume that you didn't fork before
you executed the program from the home plugin.  I.e. basically
you replaced Desktop process with "pplay" process.  When "pplay"
exited, from the system point of view that was then as the Desktop
had exited and device software watchdog rebooted the device.

You might either use the Glib convenience functions for executing
the process, or execute the process as Desktop runs applications,
i.e. as D-BUS services (D-BUS then takes care that there's only
one instance of the service running/in-memory, not the application
itself).

	- Eero


More information about the maemo-developers mailing list