Ignore:
Timestamp:
07/25/12 17:22:52 (12 years ago)
Author:
tbretz
Message:
Updated to v19r37
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/dim/src/dns.c

    r13135 r14286  
    525525                                {
    526526                                        strncpy(Dns_conns[conn_id].long_task_name, packet->services[i].service_name,
    527                                                 MAX_TASK_NAME*2);
     527                                                MAX_TASK_NAME*10);
    528528                                        ptrt = strstr(Dns_conns[conn_id].long_task_name,"/CLIENT_LIST");
    529529                                        *ptrt = '\0';
     
    14551455        dis_add_cmnd( "DIS_DNS/DEBUG_ON", 0, set_debug_on, 0 );
    14561456        dis_add_cmnd( "DIS_DNS/DEBUG_OFF", 0, set_debug_off, 0 );
    1457         dis_add_cmnd( "DIS_DNS/KILL_SERVERS", 0, kill_servers, 0 );
     1457        dis_add_cmnd( "DIS_DNS/KILL_SERVERS", "I", kill_servers, 0 );
    14581458        dis_add_cmnd( "DIS_DNS/PRINT_HASH_TABLE", 0, print_hash_table, 0 );
    14591459        dis_add_cmnd( "DIS_DNS/SERVICE_INFO/RpcIn", "C", set_rpc_info, 0 );
     
    15631563
    15641564
    1565 void kill_servers()
     1565void kill_servers(int *tag, int *code, int *size)
    15661566{
    15671567        int i;
    15681568        DNS_DIS_PACKET dis_packet;
    1569 
     1569        int soft_code = 0, soft_size = 0;
     1570        int type;
     1571       
     1572        if(size)
     1573        {
     1574                soft_size = *size;
     1575                if(code)
     1576                {
     1577                        soft_code = *code;
     1578                }
     1579        }
    15701580        for(i = 0; i< Curr_N_Conns; i++)
    15711581        {
     
    15741584                        if(!strcmp(Dns_conns[i].task_name,"DIS_DNS"))
    15751585                                continue;
    1576                         dim_print_date_time();
    1577                         printf(" Killing server %s@%s\n",
    1578                                 Dns_conns[i].task_name, Dns_conns[i].node_name);
    15791586                        fflush(stdout);
    1580                         dis_packet.type = htovl(DNS_DIS_EXIT);
     1587                        type = DNS_DIS_EXIT;
     1588                        if(soft_size)
     1589                        {
     1590                                type = DNS_DIS_SOFT_EXIT;
     1591                                type |= (soft_code << 16) & 0xFFFF0000;
     1592                                dim_print_date_time();
     1593                                printf(" Killing server %s@%s with exit code %d\n",
     1594                                        Dns_conns[i].task_name, Dns_conns[i].node_name, soft_code);
     1595                        }
     1596                        else
     1597                        {
     1598                                dim_print_date_time();
     1599                                printf(" Killing server %s@%s\n",
     1600                                        Dns_conns[i].task_name, Dns_conns[i].node_name);
     1601                        }
     1602                        dis_packet.type = htovl(type);
    15811603                        dis_packet.size = htovl(DNS_DIS_HEADER);
    15821604                        if( !dna_write_nowait(i, &dis_packet, DNS_DIS_HEADER) )
Note: See TracChangeset for help on using the changeset viewer.