FACT++  1.0
static int release_conn ( int  conn_id,
int  print_flg,
int  dns_flag 
)
static

Definition at line 2374 of file dis_old.c.

References check_delay_delete(), Client_exit_user_routine, Curr_conn_id, dim_print_date_time(), dna_get_node_task(), do_exit_handler(), dis_dns_ent::next, recv_dns_dis_rout(), release_all_requests(), and STA_DISC.

Referenced by dis_insert_request(), dis_report_service(), dis_send_service(), do_update_service(), find_release_request(), register_services(), release_request(), remove_service(), send_dns_update_packet(), and unregister_service().

2375 {
2376  static int releasing = 0;
2377  CLIENT *clip;
2378  int do_exit_handler();
2379 
2380  DISABLE_AST
2381  if(print_flg){}
2382  if(dns_flag)
2383  {
2384  recv_dns_dis_rout( conn_id, 0, 0, STA_DISC );
2385  ENABLE_AST
2386  return(0);
2387  }
2388 #ifdef VMS
2389  if(print_flg)
2390  {
2392  dna_get_node_task(conn_id, node, task);
2393  printf(" Couldn't write to client %s@%s, releasing connection %d\n",
2394  task, node, conn_id);
2395  fflush(stdout);
2396  }
2397 #endif
2398  clip = check_delay_delete(conn_id);
2399  if(clip != (CLIENT *)-1)
2400  {
2401  if( Client_exit_user_routine != 0 )
2402  {
2403  releasing++;
2404  Curr_conn_id = conn_id;
2405  do_exit_handler(conn_id);
2406  releasing--;
2407  }
2408  if(!releasing)
2409  {
2410  release_all_requests(conn_id, clip);
2411  }
2412  }
2413  ENABLE_AST
2414  return(1);
2415 }
Definition: dns.c:26
#define STA_DISC
Definition: dim.h:197
void release_all_requests(int conn_id, CLIENT *clip)
Definition: dis_old.c:2157
void recv_dns_dis_rout(int conn_id, DNS_DIS_PACKET *packet, int size, int status)
Definition: dis_old.c:622
Definition: dis.c:98
int do_exit_handler(int conn_id)
Definition: dis_old.c:2791
static int Curr_conn_id
Definition: dis_old.c:123
int dna_get_node_task(int conn_id, char *node, char *task)
Definition: dna.c:594
void dim_print_date_time()
Definition: utilities.c:134
static void(* Client_exit_user_routine)()=0
Definition: dis_old.c:125
CLIENT * check_delay_delete(int conn_id)
Definition: dis_old.c:2193

+ Here is the call graph for this function:

+ Here is the caller graph for this function: