FACT++  1.0
void add_exit_handler ( int *  tag,
int *  bufp,
int *  size 
)

Definition at line 2719 of file dis_old.c.

References exit_ent::conn_id, Curr_conn_id, exit_ent::exit_id, Memory::malloc(), sll_init(), sll_insert_queue(), sll_remove(), and sll_search().

2720 {
2721  EXIT_H *newp;
2722 
2723  if(size){}
2724  if(tag){}
2725  if(*bufp)
2726  {
2727  if(!Exit_h_head)
2728  {
2729  Exit_h_head = (EXIT_H *)malloc(sizeof(EXIT_H));
2730  sll_init( (SLL *) Exit_h_head );
2731  }
2732  newp = (EXIT_H *)malloc(sizeof(EXIT_H));
2733  newp->conn_id = Curr_conn_id;
2734  newp->exit_id = *bufp;
2735  sll_insert_queue( (SLL *) Exit_h_head, (SLL *) newp );
2736  }
2737  else
2738  {
2739  if(!Exit_h_head)
2740  return;
2741  if((newp = (EXIT_H *)sll_search((SLL *) Exit_h_head,
2742  (char *)&Curr_conn_id, 4)) )
2743  {
2744  sll_remove( (SLL *) Exit_h_head, (SLL *) newp );
2745  }
2746  }
2747 }
void * malloc()
Definition: EventBuilder.cc:99
Definition: dim.h:536
static int Curr_conn_id
Definition: dis_old.c:123
void sll_init(SLL *head)
Definition: sll.c:14
int sll_insert_queue(SLL *head, SLL *item)
Definition: sll.c:20
int sll_remove(SLL *head, SLL *item)
Definition: sll.c:74
int size
Definition: db_dim_server.c:17
int exit_id
Definition: dis.c:134
Definition: dis.c:131
int conn_id
Definition: dis.c:133
SLL * sll_search(SLL *head, char *data, int size)
Definition: sll.c:35
static EXIT_H * Exit_h_head
Definition: dis_old.c:137

+ Here is the call graph for this function: