FACT++  1.0
void dis_report_service ( char *  serv_name)

Definition at line 1644 of file dis.c.

References req_ent::conn_id, dll_get_next(), execute_service(), find_service(), release_conn(), req_ent::req_id, TIMED_ONLY, req_ent::to_delete, and req_ent::type.

Referenced by dis_hash_print().

1645 {
1646  register SERVICE *servp;
1647  register REQUEST *reqp;
1648  int to_delete = 0, more;
1649 
1650 
1651  DISABLE_AST
1652  servp = find_service(serv_name);
1653  reqp = servp->request_head;
1654  while( (reqp = (REQUEST *) dll_get_next((DLL *)servp->request_head,
1655  (DLL *) reqp)) )
1656  {
1657  if((reqp->type & 0xFFF) != TIMED_ONLY)
1658  {
1659  execute_service(reqp->req_id);
1660  if(reqp->to_delete)
1661  to_delete = 1;
1662  }
1663  }
1664  if(to_delete)
1665  {
1666  do
1667  {
1668  more = 0;
1669  reqp = servp->request_head;
1670  while( (reqp = (REQUEST *) dll_get_next((DLL *)servp->request_head,
1671  (DLL *) reqp)) )
1672  {
1673  if(reqp->to_delete)
1674  {
1675  more = 1;
1676  release_conn(reqp->conn_id, 1, 0);
1677  break;
1678  }
1679  }
1680  }while(more);
1681  }
1682  ENABLE_AST
1683 }
int to_delete
Definition: dis.c:64
int execute_service(int req_id)
Definition: dis.c:1397
SERVICE * find_service(char *name)
Definition: dis.c:2429
static int release_conn(int conn_id, int print_flg, int dns_flag)
Definition: dis.c:2684
#define TIMED_ONLY
Definition: dim_common.h:14
Definition: dim.h:530
Definition: dis.c:69
int type
Definition: dis.c:58
DLL * dll_get_next(DLL *head, DLL *item)
Definition: dll.c:66
int req_id
Definition: dis.c:57
int conn_id
Definition: dis.c:55
Definition: dis.c:52

+ Here is the call graph for this function:

+ Here is the caller graph for this function: