add -fvisibility=hidden to libgtkmm2ext, and make things work
[ardour.git] / libs / pbd / pbd / pthread_utils.h
index 15b37662d55a20aec34592f44c444521120c5120..c66feb73a51a5968267e1caae8390090bde5170f 100644 (file)
 #include <string>
 #include <stdint.h>
 
-#include <sigc++/sigc++.h>
+#include "pbd/libpbd_visibility.h"
+#include "pbd/signals.h"
 
-int  pthread_create_and_store (std::string name, pthread_t  *thread, void * (*start_routine)(void *), void * arg);
-void pthread_cancel_one (pthread_t thread);
-void pthread_kill_all (int signum);
-void pthread_exit_pbd (void* status);
-std::string pthread_name ();
+LIBPBD_API int  pthread_create_and_store (std::string name, pthread_t  *thread, void * (*start_routine)(void *), void * arg);
+LIBPBD_API void pthread_cancel_one (pthread_t thread);
+LIBPBD_API void pthread_cancel_all ();
+LIBPBD_API void pthread_kill_all (int signum);
+LIBPBD_API const char* pthread_name ();
+LIBPBD_API void pthread_set_name (const char* name);
 
 namespace PBD {
-       extern void notify_gui_about_thread_creation (std::string, pthread_t, std::string, int requests = 256);
-       extern void notify_gui_about_thread_exit (pthread_t);
-
-       extern sigc::signal<void,pthread_t>                                  ThreadLeaving;
-       extern sigc::signal<void,std::string,pthread_t,std::string,uint32_t> ThreadCreatedWithRequestSize;
+       LIBPBD_API extern void notify_gui_about_thread_creation (std::string, pthread_t, std::string, int requests = 256);
+       LIBPBD_API extern PBD::Signal4<void,std::string,pthread_t,std::string,uint32_t> ThreadCreatedWithRequestSize;
 }
 
 #endif /* __pbd_pthread_utils__ */