Re: [Evolution-hackers] segfault with evolution client functions and g_modules



Am Montag, den 10.09.2007, 22:00 +0100 schrieb Ross Burton:
> On Mon, 2007-09-10 at 22:30 +0200, Daniel Friedrich wrote:
> > - opensync load the opensync-plugin with g_module_open()
> > - than opensync execute a function of the opensync-plugin which execute
> > the e_book_get_addressbooks() function
> > - after that opensync unload the opensync-plugin with g_module_close()
> > - when the program reaches the end (return of main) i get a segfault
> > 
> > Maybe the EDS client api uses the default g_main_loop and wants to
> > execute some code while exiting the program. But at this point the
> > plugin is already unloaded and the code not executable (SYMBOLS are
> > unloaded). So it would be necessary to detach the EDS client from the
> > g_main_loop. A finalize()-methode were great to do that.
> > 
> > I hope somebody can follow me and help to solve the problem.
> 
> libebook isn't designed to be loaded and unloaded, so it's best if you
> don't even try to.  Even if there was a finalise() method, if you tried
> to load/unload/load it will probably crash straight away as it tries to
> re-register a supposedly static type.
> 
> Ross

Thanks for this answer. I only load and unload. Is this the same or
another bug furthermore?

I will open a bug report for this issue. Maybe it will be fixed some
day :-)
For now i will run the evolution2-opensync-plugin in a own process.

Best regards,
Daniel

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]