mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
util: Implement debug-threads for macOS
macOS provides pthread_setname_np that doesn't have thread id argument. Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
16bf52346d
commit
479a57475e
3 changed files with 33 additions and 9 deletions
32
configure
vendored
32
configure
vendored
|
@ -3721,8 +3721,8 @@ if test "$mingw32" != yes -a "$pthread" = no; then
|
|||
"Make sure to have the pthread libs and headers installed."
|
||||
fi
|
||||
|
||||
# check for pthread_setname_np
|
||||
pthread_setname_np=no
|
||||
# check for pthread_setname_np with thread id
|
||||
pthread_setname_np_w_tid=no
|
||||
cat > $TMPC << EOF
|
||||
#include <pthread.h>
|
||||
|
||||
|
@ -3736,7 +3736,24 @@ int main(void)
|
|||
}
|
||||
EOF
|
||||
if compile_prog "" "$pthread_lib" ; then
|
||||
pthread_setname_np=yes
|
||||
pthread_setname_np_w_tid=yes
|
||||
fi
|
||||
|
||||
# check for pthread_setname_np without thread id
|
||||
pthread_setname_np_wo_tid=no
|
||||
cat > $TMPC << EOF
|
||||
#include <pthread.h>
|
||||
|
||||
static void *f(void *p) { pthread_setname_np("QEMU"); }
|
||||
int main(void)
|
||||
{
|
||||
pthread_t thread;
|
||||
pthread_create(&thread, 0, f, 0);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if compile_prog "" "$pthread_lib" ; then
|
||||
pthread_setname_np_wo_tid=yes
|
||||
fi
|
||||
|
||||
##########################################
|
||||
|
@ -6889,11 +6906,14 @@ fi
|
|||
# Hold two types of flag:
|
||||
# CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name on
|
||||
# a thread we have a handle to
|
||||
# CONFIG_PTHREAD_SETNAME_NP - A way of doing it on a particular
|
||||
# CONFIG_PTHREAD_SETNAME_NP_W_TID - A way of doing it on a particular
|
||||
# platform
|
||||
if test "$pthread_setname_np" = "yes" ; then
|
||||
if test "$pthread_setname_np_w_tid" = "yes" ; then
|
||||
echo "CONFIG_THREAD_SETNAME_BYTHREAD=y" >> $config_host_mak
|
||||
echo "CONFIG_PTHREAD_SETNAME_NP=y" >> $config_host_mak
|
||||
echo "CONFIG_PTHREAD_SETNAME_NP_W_TID=y" >> $config_host_mak
|
||||
elif test "$pthread_setname_np_wo_tid" = "yes" ; then
|
||||
echo "CONFIG_THREAD_SETNAME_BYTHREAD=y" >> $config_host_mak
|
||||
echo "CONFIG_PTHREAD_SETNAME_NP_WO_TID=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
if test "$vxhs" = "yes" ; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue