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



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
-- 
Ross Burton                                 mail: ross burtonini com
                                          jabber: ross burtonini com
                                     www: http://www.burtonini.com./
 PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF

Attachment: signature.asc
Description: This is a digitally signed message part



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