On Mon, Mar 11, 2013 at 12:32 AM, dieter roelants <[email protected]> wrote:
> I noticed that the tempget program, used by the temperature module,
> would never exit e.g. when changing settings. Also, I had the problem
> with the enlightenment splash screen sitting there until the timeout is
> reached, that's already been reported on this (or anothere maybe) list
> for some OSes (mine's NetBSD). It turns out that both issues have the
> same cause:
> _ecore_exe_exec_it runs tempget/enlightenment_init with a shell because
> the command line contains shell metacharacters. Depending on which
> shell is used, it will fork to run the actual command. Bash and zsh do
> not and exec the command directly, other shells do. In the case of the
> temperature module, it kills the shell used to run tempget, not tempget
> itself. In the case of the splash screen enlightenment_init sends a
> SIGUSR1 to the shell (killing it), not to enlightenment.
> An easy fix is to prefix the command to run with "exec", i.e.
Thanks for digging that one. In git.
> diff --git src/bin/e_init.c src/bin/e_init.c
> index 202f104..4db1431 100644
> --- src/bin/e_init.c
> +++ src/bin/e_init.c
> @@ -68,7 +68,7 @@ e_init_show(void)
> else ver = strdup("XvX");
>
> snprintf(buf, sizeof(buf),
> - "%s/enlightenment/utils/enlightenment_init \'%s\' \'%i\' \'%s\'
> \'%s\'",
> + "exec %s/enlightenment/utils/enlightenment_init \'%s\' \'%i\'
> \'%s\' \'%s\'",
> e_prefix_lib_get(), theme,
> e_config->font_hinting, tit, ver);
> printf("RUN INIT: %s\n", buf);
> diff --git src/modules/temperature/e_mod_main.c
> src/modules/temperature/e_mod_main.c
> index 52c6998..949487c 100644
> --- src/modules/temperature/e_mod_main.c
> +++ src/modules/temperature/e_mod_main.c
> @@ -321,7 +321,7 @@ temperature_face_update_config(Config_Face *inst)
> if (!inst->tempget_exe)
> {
> snprintf(buf, sizeof(buf),
> - "%s/%s/tempget %i \"%s\" %i",
> + "exec %s/%s/tempget %i \"%s\" %i",
> e_module_dir_get(temperature_config->module),
> MODULE_ARCH,
> inst->sensor_type,
> (inst->sensor_name ? inst->sensor_name : "(null)"),
> @@ -349,7 +349,7 @@ temperature_face_update_config(Config_Face *inst)
> if (!inst->tempget_exe)
> {
> snprintf(buf, sizeof(buf),
> - "%s/%s/tempget %i \"%s\" %i",
> + "exec %s/%s/tempget %i \"%s\" %i",
> e_module_dir_get(temperature_config->module), MODULE_ARCH,
> inst->sensor_type,
> (inst->sensor_name ? inst->sensor_name : "(null)"),
>
>
> kind regards
> dieter
>
> ------------------------------------------------------------------------------
> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
> endpoint security space. For insight on selecting the right partner to
> tackle endpoint security challenges, access the full report.
> http://p.sf.net/sfu/symantec-dev2dev
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Cedric BAIL
------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel