FACT++  1.0
int do_exit_handler ( int  conn_id)

Definition at line 3149 of file dis.c.

References check_exit_handler_item(), Client_exit_user_routine, find_exit_handler_item(), and rem_exit_handler_item().

Referenced by release_conn().

3150 {
3151  register EXIT_H *exitp;
3152  int exit_id;
3153 
3154  DISABLE_AST;
3155  if((exitp = find_exit_handler_item(conn_id)))
3156  {
3157  if((exit_id = check_exit_handler_item(exitp, conn_id)))
3158  {
3159  (Client_exit_user_routine)( &exit_id );
3160  }
3161  else
3162  {
3163  rem_exit_handler_item(exitp);
3164  }
3165  }
3166 /*
3167  if(!Exit_h_head)
3168  {
3169  ENABLE_AST;
3170  return(0);
3171  }
3172  while( (exitp = (EXIT_H *) sll_search_next_remove((SLL *) Exit_h_head,
3173  0, (char *) &conn_id, 4)) )
3174  {
3175  (Client_exit_user_routine)( &exitp->exit_id );
3176  free(exitp);
3177  }
3178 */
3179  ENABLE_AST
3180  return(1);
3181 }
static int check_exit_handler_item(EXIT_H *exitp, int conn_id)
Definition: dis.c:3106
static void(* Client_exit_user_routine)()=0
Definition: dis.c:125
static void rem_exit_handler_item(EXIT_H *exitp)
Definition: dis.c:3073
static EXIT_H * find_exit_handler_item(int conn_id)
Definition: dis.c:3087
Definition: dis.c:131

+ Here is the call graph for this function:

+ Here is the caller graph for this function: