On Fri, Dec 14, 2012 at 5:11 AM, Ederson Souza <eder...@profusion.mobi> wrote:
> That's true: elev8 'server mode' isn't working anymore. At some point after
> Eo introduction, when elev8 forks itself in order to create a child process
> that will run the script, the child process will face lots of errors when
> trying to create its ecore objects (ecore_job and ecore_timer, for
> instance).
> As far as I could debug it, it's related to eina_main_loop_is(), which
> return false in every call on the child process. So, ecore_jobs and timers
> will not be created, leading to many error messages and eventually a
> segfault. Just making eina_main_loop_is() return true will also lead to a
> bad behaviour, so I think this problem is deeper.
> I've attached an example of what I mean. The program will create a timer,
> and when the timer expires, it'll fork a child, that will run an elementary
> application. It will work, but it's possible to see all errors raised by
> ecore. Does someone have an idea why this happens? Calling
> ecore_fork_reset() has no effect on these bugs.

So unfair ! You dodged this bug by sending it back to me :'( Anyway, I
think nobody tested this case in the past, that may explain why it
doesn't work. There is 2 secret calls that are mandatory in this
scenario : eina_main_loop_define and ecore_fork_reset, but it doesn't
seems to enough. In fact I have some idea why it is not enough. Many
fd are still shared by both side of the main loop and things can
really go wrong there. May I recommend an alternative ?

Look at elementary/srb/bin/quicklaunch.c code and maybe follow it. The
only think lacking is to call a custom function instead of one that
elm_quicklaunch get from a binary. Maybe this should be added to
elm_quicklaunch infra.
--
Cedric BAIL

PS: Yes, I know I am trying to dodge that issue...

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to