On Fri, 3 Jun 2011 00:33:37 -0300 Rafael Antognolli <[email protected]>
said:

well color me pretty. i forgot about this email... found it.. and fixed in svn
now :)

> On Thu, Jun 2, 2011 at 4:09 AM, Cedric BAIL <[email protected]> wrote:
> > On Wed, Jun 1, 2011 at 9:27 PM, Rafael Antognolli
> > <[email protected]> wrote:
> >> On Thu, Sep 9, 2010 at 4:08 AM, Enlightenment SVN
> >> <[email protected]> wrote:
> >>> Log:
> >>>  lots of cleanups... actually tested! :)
> >>>
> >>>
> >>> Author:       raster
> >>> Date:         2010-09-09 00:08:10 -0700 (Thu, 09 Sep 2010)
> >>> New Revision: 52030
> >>
> >>>  static void
> >>> -_evas_preload_thread_end(Evas_Preload_Pthread_Data *pth)
> >>> +_evas_preload_thread_end(void *data)
> >>>  {
> >>> -   Evas_Preload_Pthread_Data *p;
> >>> +   Evas_Preload_Pthread_Data *pth = data;
> >>> +   Evas_Preload_Pthread_Data *p = NULL;
> >>>
> >>> -   if (pthread_join(pth->thread, (void **) &p) != 0)
> >>> -     return ;
> >>> -
> >>> -   _evas_preload_thread = eina_list_remove(_evas_preload_thread, pth);
> >>> +   if (pthread_join(pth->thread, (void **)&p) != 0) free(p);
> >>>  }
> >>
> >> Hello raster, I know this is old, but I can't understand it... why do
> >> you only free the data struct on pthread_join error? Shouldn't you
> >> free it always?
> >>
> >> I can always get leaks on almost every call that I'm doing to
> >> edje_object_preload() on my program. I can send you a test case if
> >> necessary...
> >
> > Test case ! Test case ! Send it ! Send it !
> 
> Test case attached. It leaks for every thread started for preload.
> Just give images as arguments in the command line. It should leak
> something like this:
> 
> ==10047== 64 bytes in 8 blocks are definitely lost in loss record 44 of 78
> ==10047==    at 0x4C267CE: malloc (in
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==10047==    by 0x5302327: evas_preload_thread_run (evas_preload.c:197)
> ==10047==    by 0x52FE624: _evas_cache_image_entry_preload_add
> (evas_cache_image.c:475)
> ==10047==    by 0x5300199: evas_cache_image_preload_data
> (evas_cache_image.c:1270)
> ==10047==    by 0xAE06CB6: ???
> ==10047==    by 0x52AEF16: evas_object_image_preload
> (evas_object_image.c:1013) ==10047==    by 0x400EAF: _image_preloaded_cb
> (test-evas-preload.c:29) ==10047==    by 0x52A06E6:
> evas_object_event_callback_call (evas_callbacks.c:222)
> ==10047==    by 0x52BC270: evas_object_inform_call_image_preloaded
> (evas_object_inform.c:68)
> ==10047==    by 0x52FE3EA: _evas_cache_image_async_end
> (evas_cache_image.c:419) ==10047==    by 0x5301FC1: _evas_preload_thread_done
> (evas_preload.c:70) ==10047==    by 0x52F72D1: evas_async_events_process
> (evas_async_events.c:90)
> 
> 
> -- 
> Rafael Antognolli
> ProFUSION embedded systems
> http://profusion.mobi


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to