On Wed, 8 Jun 2011, Carsten Haitzler (The Rasterman) wrote:

> On Wed, 8 Jun 2011 07:05:01 +0200 Ulrich Eckhardt <dooms...@knuut.de> said:
>
> designed to be used from a single thread. in fact almost ALL of efl is not
> threadsafe/re-entrant. that is .. well .. an assumed baseline, so no code 
> tries
> to work in a threaded environment (app threadeD) except for some very specific
> exceptions in eina and ecore_thread itself.

If I'm not mistaken, eet too. And eio, but it's not part of the core EFL.

Vincent

> (the idea is you fram off the
> non-efl heavy processing/io work to a worker thread and when its done it
> messages back the mainloop (state machine of the app) and that state machine
> updates the ui.
>
>> Hi!
>>
>> I have a question regarding the thread-safety and reentrancy of Evas.
>> Firstly, are these actually goals or is Evas intended by design to be used in
>> a single thread for rendering? If so, you can ignore my other questions....
>>
>> Now, what got me started on this issue is the commit in
>> http://trac.enlightenment.org/e/changeset/59780/trunk/evas/src. There, a
>> function-local, static buffer is added in _escaped_char_get(), who's address
>> is returned from the function. This means that one call will overwrite the
>> previous call's results and simultaneous calls by two threads might cause
>> even more problems.
>>
>> I checked the rest of the file (Actually, I think that is the biggest single
>> file of sourcecode I have ever seen with almost 9k lines! :D) but there is
>> only a single further incident where a non-const, local and static variable
>> is used. This second use is in the initialisation of textblock objects where
>> linebreak_init() is called on demand when HAVE_LINEBREAK is defined. Isn't
>> this latter case something for evas_init(), BTW?
>>
>> Cheers!
>>
>> Uli
>>
>> ------------------------------------------------------------------------------
>> EditLive Enterprise is the world's most technically advanced content
>> authoring tool. Experience the power of Track Changes, Inline Image
>> Editing and ensure content is compliant with Accessibility Checking.
>> http://p.sf.net/sfu/ephox-dev2dev
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
> -- 
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    ras...@rasterman.com
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to