job_queue.c File Reference

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include "job_queue.h"

Functions

nodelist_get (List *l)
nodelist_make_node (FuncPtr func, void *args, int args_size)
void list_insert (List *l, node *new)
int list_empty (List *l)
Listlist_init ()
void free_node (node *n)
void * job_exec (void *job_q)
void job_submit (List *job_q, FuncPtr func, void *args, int args_size)
Listjob_queue_init (int pool_size)

Function Documentation

void free_node node n  ) 
 

void* job_exec void *  job_q  ) 
 

get the queue mutex "access" then if the queue is emapty it would go to sleep and release the mutex else get the first job out of queue and execute it

List* job_queue_init int  pool_size  ) 
 

initiate the queue and thread pool, returns a pointer to the initiated queue.

void job_submit List job_q,
FuncPtr  func,
void *  args,
int  args_size
 

get the queue mutex "access", creat a new node and pass func,args,args_size, add the new node to the queue, and signal the thread pool if the queue was empty.

int list_empty List l  ) 
 

node* list_get List l  ) 
 

List* list_init  ) 
 

initiate the list(queue).

void list_insert List l,
node new
 

node* list_make_node FuncPtr  func,
void *  args,
int  args_size
 


Generated on Thu Feb 16 21:42:40 2006 for Chimera by  doxygen 1.4.5