FACT++  1.0
void dis_report_service ( char *  serv_name)

Definition at line 1476 of file dis_old.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().

1477 {
1478  register SERVICE *servp;
1479  register REQUEST *reqp;
1480  int to_delete = 0, more;
1481 
1482 
1483  DISABLE_AST
1484  servp = find_service(serv_name);
1485  reqp = servp->request_head;
1486  while( (reqp = (REQUEST *) dll_get_next((DLL *)servp->request_head,
1487  (DLL *) reqp)) )
1488  {
1489  if((reqp->type & 0xFFF) != TIMED_ONLY)
1490  {
1491  execute_service(reqp->req_id);
1492  if(reqp->to_delete)
1493  to_delete = 1;
1494  }
1495  }
1496  if(to_delete)
1497  {
1498  do
1499  {
1500  more = 0;
1501  reqp = servp->request_head;
1502  while( (reqp = (REQUEST *) dll_get_next((DLL *)servp->request_head,
1503  (DLL *) reqp)) )
1504  {
1505  if(reqp->to_delete)
1506  {
1507  more = 1;
1508  release_conn(reqp->conn_id, 1, 0);
1509  break;
1510  }
1511  }
1512  }while(more);
1513  }
1514  ENABLE_AST
1515 }
int execute_service(int req_id)
Definition: dis_old.c:1275
int to_delete
Definition: dis.c:64
#define TIMED_ONLY
Definition: dim_common.h:14
Definition: dim.h:530
Definition: dis.c:69
SERVICE * find_service(char *name)
Definition: dis_old.c:2143
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
static int release_conn(int conn_id, int print_flg, int dns_flag)
Definition: dis_old.c:2374
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: