--- src/util/threads-pthread.c | 9 +++++++++ src/util/threads.h | 2 ++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/util/threads-pthread.c b/src/util/threads-pthread.c index 82ce5c6..791c5a5 100644 --- a/src/util/threads-pthread.c +++ b/src/util/threads-pthread.c @@ -253,3 +253,12 @@ void virThreadLocalSet(virThreadLocalPtr l, void *val) { pthread_setspecific(l->key, val); } + +int virThreadCancel(virThreadPtr thread) +{ + int ret; + if ((ret = pthread_cancel(thread->thread)) != 0){ + return -1; + } + return 0; +} diff --git a/src/util/threads.h b/src/util/threads.h index b72610c..dd456b5 100644 --- a/src/util/threads.h +++ b/src/util/threads.h @@ -45,6 +45,7 @@ int virThreadInitialize(void) ATTRIBUTE_RETURN_CHECK; void virThreadOnExit(void); typedef void (*virThreadFunc)(void *opaque); +typedef void (*virThreadCleanupFunc)(void *opaque); int virThreadCreate(virThreadPtr thread, bool joinable, @@ -99,6 +100,7 @@ int virThreadLocalInit(virThreadLocalPtr l, virThreadLocalCleanup c) ATTRIBUTE_RETURN_CHECK; void *virThreadLocalGet(virThreadLocalPtr l); void virThreadLocalSet(virThreadLocalPtr l, void*); +int virThreadCancel(virThreadPtr thread); # ifdef WIN32 # include "threads-win32.h" -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list