FACT++  1.0
CLIENT* check_delay_delete ( int  conn_id)

Definition at line 2500 of file dis.c.

References req_ent::delay_delete, dll_get_next(), find_client(), reqp_ent::reqp, cli_ent::requestp_head, and req_ent::to_delete.

Referenced by release_conn().

2501 {
2502  register REQUEST_PTR *reqpp;
2503  register CLIENT *clip;
2504  register REQUEST *reqp;
2505  int found = 0;
2506 
2507  DISABLE_AST;
2508  clip = find_client(conn_id);
2509  if(clip)
2510  {
2511  reqpp = clip->requestp_head;
2512  while( (reqpp = (REQUEST_PTR *) dll_get_next((DLL *)clip->requestp_head,
2513  (DLL *) reqpp)) )
2514  {
2515  reqp = (REQUEST *) reqpp->reqp;
2516  if(reqp->delay_delete)
2517  {
2518  reqp->to_delete = 1;
2519  found = 1;
2520  }
2521  }
2522  }
2523  ENABLE_AST;
2524  if(found)
2525  {
2526  return((CLIENT *)-1);
2527  }
2528  return(clip);
2529 }
int to_delete
Definition: dis.c:64
Definition: dis.c:98
CLIENT * find_client(int conn_id)
Definition: dis.c:2455
Definition: dim.h:530
REQUEST_PTR * requestp_head
Definition: dis.c:102
int delay_delete
Definition: dis.c:63
DLL * dll_get_next(DLL *head, DLL *item)
Definition: dll.c:66
Definition: dis.c:92
REQUEST * reqp
Definition: dis.c:95
Definition: dis.c:52

+ Here is the call graph for this function:

+ Here is the caller graph for this function: