Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com pthreads


bigorna00

Pergunta

Pessoal, estou fazendo um programa que utiliza a biblioteca pthreads.h, mas estou tendo um problema sério. Depois de resolver todos os erros, meu programa compila, executa a função main sem problemas. O problema tá na função pthread_create. Eu chamo ela, passando a função func, a pthread_create retorna zero, mas não executa a função func. Quando executo o programa, ele imprime "Criou thread!", mas não imprime "Entrou func!"... Alguém tem alguma idéia do por que isso está acontecendo???

Aí está o main:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include "logica.h"
#include "io.h"

int main(int argc, char *argv[]){
...
...
Parametro *arg;
arg->c_elevador = c_elevador;
arg->elevador = elevador;
arg->eventos = eventos;
arg->in = in;

pthread_t tid;
error = pthread_create(&tid, NULL, func, arg);
if (error){
   printf("Erro ao criar a thread\n");
}
else{
     printf("Criou thread!\n");
}

return(0);
}
E aí está a função func:
void* func (void *arg){
      printf("Entrou func!\n");

      long double out = 0;

      movimenta(&(arg->c_elevador), &(arg->elevador), &(arg->eventos), &out);  
      printf("movimentou!\n");                                                                  

      pthread_exit(NULL);
      printf("destruiu thread!\n");
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...