Referência do Arquivo threads_ctl.c


Descrição Detalhada

Funções referentes ao controle das threads.

#include <threads_ctl.h>

Funções

int Thread_ctlInit (void)
 Função inicializa o controle das threads.
int finalizaThread (pthread_t *ptr)
 Função que finaliza e libera a memória de uma determinada thread.
int recebeNovaConexao (int thread_id, int socket, void *func)
 Função que cria uma thread para atender uma nova conexão.
int getThreadId (void)
 Função que obtem o ID para uma thread nova.
int incThreadNum (void)
 Função que incrementa o contador de novas threads.
int decThreadNum (void)
 Função que decrementa o contador de threads.
int getThreadNum (void)
 Função obtem o número de threads ativas.
void travaBanco (int arquivo_id)
 Função que bloqueia o acesso ao bando de dados.
void liberaBanco (int arquivo_id)
 Função que libera o acesso ao bando de dados.

Variáveis

int thread_num = 0
int thread_id = 0
int thread_ctlInit = 0
pthread_mutex_t mutex_threads
pthread_mutex_t mutex_banco
pthread_mutex_t mutex_threads_rodando
pthread_cond_t mutex_cond_wait


Funções

int decThreadNum ( void   ) 

Função que decrementa o contador de threads.

Retorna:
Status do decremento.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int finalizaThread ( pthread_t *  ptr  ) 

Função que finaliza e libera a memória de uma determinada thread.

Retorna:
Status da finalização da thread.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int getThreadId ( void   ) 

Função que obtem o ID para uma thread nova.

Retorna:
ID da nova thread.
Valores Retornados:
De 0 até 10.000
Autor:
Daniel Matte Freitas

int getThreadNum ( void   ) 

Função obtem o número de threads ativas.

Retorna:
Número de threads ativas.
Autor:
Daniel Matte Freitas

int incThreadNum ( void   ) 

Função que incrementa o contador de novas threads.

Retorna:
Status do incremento.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

void liberaBanco ( int  arquivo_id  ) 

Função que libera o acesso ao bando de dados.

Autor:
Daniel Matte Freitas

int recebeNovaConexao ( int  thread_id,
int  socket,
void *  func 
)

Função que cria uma thread para atender uma nova conexão.

Parâmetros:
thread_id ID da nova thread.
socket Socket da nova thread.
func Função que irá atender as requisições.
Retorna:
Status sobre a criação da nova thread.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

int Thread_ctlInit ( void   ) 

Função inicializa o controle das threads.

Retorna:
Status da finalização da thread.
Valores Retornados:
0 Sucesso
-1 Falha
Autor:
Daniel Matte Freitas

void travaBanco ( int  arquivo_id  ) 

Função que bloqueia o acesso ao bando de dados.

Autor:
Daniel Matte Freitas


Variáveis

pthread_mutex_t mutex_banco

pthread_cond_t mutex_cond_wait

pthread_mutex_t mutex_threads

pthread_mutex_t mutex_threads_rodando

int thread_ctlInit = 0

int thread_id = 0

int thread_num = 0