Hello, I want to propose the follow flag for raptor in liblrdf library:
#if RAPTOR_VERSION >= 20000 raptor_world_set_flag(world, RAPTOR_WORLD_FLAG_WWW_SKIP_INIT_FINISH, 1); #endif before raptor_world_open() is called (explicitly or implicitly), for example after raptor_new_world() in lrdf_init(). That flag avoids to call curl_global_init() (not thread-safe) in raptor_www_init() and curl_global_cleanup() in raptor_www_finish(). Rare but possible (I'm lucky), if raptor is compiled with curl support, I have experienced the follow crash during Rosegarden startup: #0 0x00007ffff0a84f39 in lh_insert () from /lib64/libcrypto.so.1 #1 0x00007ffff0a087ba in OBJ_NAME_add () from /lib64/libcrypto.so.1 #2 0x00007ffff0a94cf8 in OpenSSL_add_all_ciphers () from /lib64/libcrypto.so.1 #3 0x00007ffff0a94cae in OPENSSL_add_all_algorithms_noconf () from /lib64/libcrypto.so.1 #4 0x00007ffff1acf20c in ?? () from /usr/lib64/libcurl.so.4 #5 0x00007ffff1ad605a in curl_global_init () from /usr/lib64/libcurl.so.4 #6 0x00007ffff22cc0fa in raptor_www_init () from /usr/lib64/libraptor2.so.0 #7 0x00007ffff22c9ef0 in raptor_world_open () from /usr/lib64/libraptor2.so.0 #8 0x00007ffff22c63f1 in raptor_new_uri () from /usr/lib64/libraptor2.so.0 #9 0x00007ffff5d26701 in lrdf_read_file_intl () from /usr/lib64/liblrdf.so.2 #10 0x00007ffff5d27626 in lrdf_read_file () from /usr/lib64/liblrdf.so.2 #11 0x00000000004d8d79 in Rosegarden::LADSPAPluginFactory::discoverPlugins() () The code is a simple lrdf_init, for-loop of lrdf_read_file, lrdf_cleanup, and curl seems useless to read/manipulate rdf files for LADSPA plugins. I have recompiled raptor without curl support --with-www=xml to use libxml, so the only work in raptor_www_init() is to set world->www_initialized = 1; without the call for curl_global_init(). _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev