Merged with trunk, and a few trivial GUI updates etc.
[ardour.git] / libs / pbd / pbd / pthread_utils.h
1 #ifndef __pbd_pthread_utils__
2 #define __pbd_pthread_utils__
3
4 #include <pthread.h>
5 #include <signal.h>
6 #include <string>
7 #include <stdint.h>
8
9 #include <sigc++/sigc++.h>
10
11 int  pthread_create_and_store (std::string name, pthread_t  *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void * arg);
12 void pthread_cancel_one (pthread_t thread);
13 void pthread_kill_all (int signum);
14 void pthread_cancel_all ();
15 void pthread_exit_pbd (void* status);
16 std::string pthread_name ();
17
18 namespace PBD {
19   extern sigc::signal<void,pthread_t,std::string> ThreadCreated;
20   extern sigc::signal<void,pthread_t,std::string,uint32_t> ThreadCreatedWithRequestSize;
21 }
22
23 #endif /* __pbd_pthread_utils__ */