use pthread_create(&tid,...)
, então você receberá um valor legal pthread_t
para passar. Ou use seu próprio tid:
pthread_kill(pthread_self(),0);
Esta é a minha primeira pergunta aqui (como você provavelmente pode dizer da má formatação da saída do GDB abaixo: ^}, e este pode não ser o fórum correto ?? ...
Usando o Ubuntu 14.04, chamar pthread_kill (0,0) causa um SIGSEGV. A man page diz que pthread_kill () pode ser usado para determinar se existe um thread. Eu devo estar perdendo algo extremamente básico. Eu entendo que a definição / formato / estrutura real de pthread_t é opaca (dependente do sistema operacional), mas parece que isso deve funcionar e, na pior das hipóteses, retornar ESRCH. Por favor, me endireite. Detalhes seguem:
int
main (int arcg, char *argv[])
{
pthread_kill((pthread_t)0,0);
return 0;
}
gcc -g -pthread test_pthread_kill.c -otest_pthread_kill
test_pthread_kill
Segmentation fault (core dumped)
use pthread_create(&tid,...)
, então você receberá um valor legal pthread_t
para passar. Ou use seu próprio tid:
pthread_kill(pthread_self(),0);