From d7d631ea9529012a0310f187294dc985e417682a Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 13 Feb 2013 12:50:23 +0000 Subject: [PATCH] begin to put ion code to launch cserve2 for e17 in e_start... problem... it runs... mostly.. but is buggy. svgs -> no load (generic loader issue?) sometimes ie->data2 is null (why?) font -> instead of normal bvold font.. i'm seeing an italic bold font.... eek! :( cserve2 worked well in smaller tests like elm and expedite.. it's not having a happy day with e17 :( SVN revision: 83871 --- src/bin/e_start_main.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c index ea83960af..824b05e8e 100644 --- a/src/bin/e_start_main.c +++ b/src/bin/e_start_main.c @@ -20,6 +20,7 @@ #include #include +#include static Eina_Bool stop_ptrace = EINA_FALSE; @@ -244,6 +245,7 @@ main(int argc, char **argv) const char *valgrind_log = NULL; Eina_Bool really_know = EINA_FALSE; struct sigaction action; + pid_t child = -1, cs_child = -1; #if !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__FreeBSD__) && \ !(defined (__MACH__) && defined (__APPLE__)) Eina_Bool restart = EINA_TRUE; @@ -419,10 +421,26 @@ main(int argc, char **argv) /* Now looping until */ while (restart) { - pid_t child; - stop_ptrace = EINA_FALSE; +/* + if (cs_child < 0) + { + cs_child = fork(); + if (cs_child == 0) + { + char *cs_args[2] = { NULL, NULL }; + + cs_args[0] = (char *)evas_cserve_path_get(); + execv(cs_args[0], cs_args); + exit(-1); + } + else if (cs_child > 0) + { + putenv("EVAS_CSERVE2=1"); + } + } + */ child = fork(); if (child < 0) /* failed attempt */ @@ -444,12 +462,11 @@ main(int argc, char **argv) pid_t result; int status; Eina_Bool done = EINA_FALSE; + #ifdef HAVE_SYS_PTRACE_H if (!really_know) ptrace(PT_ATTACH, child, NULL, NULL); -#endif result = waitpid(child, &status, 0); -#ifdef HAVE_SYS_PTRACE_H if ((!really_know) && (!stop_ptrace)) { if (WIFSTOPPED(status))