FACT++  1.0
void release_all_requests ( int  conn_id,
CLIENT clip 
)

Definition at line 2464 of file dis.c.

References dis_dns_ent::dis_client_id, dis_update_service(), dll_get_next(), dll_remove(), dna_close(), cli_ent::dnsp, Memory::free(), Last_client, reqp_ent::prev, release_request(), reqp_ent::reqp, and cli_ent::requestp_head.

Referenced by release_conn().

2465 {
2466  register REQUEST_PTR *reqpp, *auxp;
2467  register REQUEST *reqp;
2468  int found = 0;
2469  int release_request();
2470  DIS_DNS_CONN *dnsp = 0;
2471 
2472  DISABLE_AST;
2473  if(clip)
2474  {
2475  reqpp = clip->requestp_head;
2476  while( (reqpp = (REQUEST_PTR *) dll_get_next((DLL *)clip->requestp_head,
2477  (DLL *) reqpp)) )
2478  {
2479  auxp = reqpp->prev;
2480  reqp = (REQUEST *) reqpp->reqp;
2481  release_request(reqp, reqpp, 0);
2482  found = 1;
2483  reqpp = auxp;
2484  }
2485  dnsp = clip->dnsp;
2486  dll_remove(clip);
2487  free(clip->requestp_head);
2488  free(clip);
2489  }
2490  if(found)
2491  {
2492  Last_client = -conn_id;
2493  if(dnsp->dis_client_id)
2495  }
2496  dna_close(conn_id);
2497  ENABLE_AST;
2498 }
int dna_close(int conn_id)
Definition: dna.c:835
void dll_remove(DLL *item)
Definition: dll.c:100
Definition: dim.h:530
DIS_DNS_CONN * dnsp
Definition: dis.c:103
REQUEST_PTR * requestp_head
Definition: dis.c:102
int dis_update_service(unsigned service_id)
Definition: dis.c:1685
static int Last_client
Definition: dis.c:149
int release_request(REQUEST *reqp, REQUEST_PTR *reqpp, int remove)
Definition: dis.c:2650
void free(void *mem)
DLL * dll_get_next(DLL *head, DLL *item)
Definition: dll.c:66
Definition: dis.c:92
REQUEST * reqp
Definition: dis.c:95
struct reqp_ent * prev
Definition: dis.c:94
unsigned int dis_client_id
Definition: dis.c:48
Definition: dis.c:52

+ Here is the call graph for this function:

+ Here is the caller graph for this function: