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");
}