Alexandre Julliard : wine-pthread:
Set thread scope to force using kernel threads on Solaris.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 23 06:43:52 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: c6ad0201f49e5d7b5efeddc2dacb148c2f0f0547
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=c6ad0201f49e5d7b5efeddc2dacb148c2f0f0547
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jun 23 12:26:23 2006 +0200
wine-pthread: Set thread scope to force using kernel threads on Solaris.
---
loader/pthread.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/loader/pthread.c b/loader/pthread.c
index 451d112..5c6632d 100644
--- a/loader/pthread.c
+++ b/loader/pthread.c
@@ -100,6 +100,7 @@ static int create_thread( struct wine_pt
pthread_attr_init( &attr );
pthread_attr_setstacksize( &attr, info->stack_size );
pthread_attr_setdetachstate( &attr, PTHREAD_CREATE_DETACHED );
+ pthread_attr_setscope( &attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread on Solaris */
if (pthread_create( &id, &attr, (void * (*)(void *))info->entry, info )) ret = -1;
pthread_attr_destroy( &attr );
return ret;
@@ -129,7 +130,11 @@ #endif
/* set pid and tid */
info->pid = getpid();
+#ifdef __sun
+ info->tid = pthread_self(); /* this should return the lwp id on solaris */
+#else
info->tid = gettid();
+#endif
}
More information about the wine-cvs
mailing list