Changeset 4784:7aa703c721af in roaraudio for libroar


Ignore:
Timestamp:
03/10/11 23:59:16 (13 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for trap-policy:die and updated to a good message for policy:warn

Location:
libroar
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libroar/config.c

    r4779 r4784  
    255255    config->trap_policy = ROAR_TRAP_STOP; 
    256256#endif 
     257   } else if ( !strcmp(v, "die") ) { 
     258    config->trap_policy = ROAR_TRAP_DIE; 
    257259   } else { 
    258260    ROAR_WARN("roar_libroar_config_parse(*): Unknown trap policy: %s", v); 
  • libroar/debug.c

    r4708 r4784  
    139139} 
    140140 
    141 void roar_debug_msg(int type, unsigned long int line, char * file, char * prefix, char * format, ...) { 
     141void roar_debug_msg(int type, unsigned long int line, const char * file, const char * prefix, const char * format, ...) { 
    142142 struct roar_vio_calls * vio; 
    143143 va_list ap; 
  • libroar/trap.c

    r4782 r4784  
    8787} 
    8888 
    89 void roar_strap_impl(const unsigned int group, const char * name, unsigned int line, const char * file) { 
     89void roar_strap_impl(const unsigned int group, const char * name, unsigned int line, const char * file, const char * prefix) { 
    9090#ifdef ROAR_SUPPORT_TRAP 
    9191 struct roar_libroar_config * config = roar_libroar_get_config(); 
     
    9999   break; 
    100100  case ROAR_TRAP_WARN: 
    101     ROAR_WARN("roar_strap_impl(group=%u(\"%s\"), name='%s', line=%u, file='%s') = (void)", 
     101    ROAR_DBG("roar_strap_impl(group=%u(\"%s\"), name='%s', line=%u, file='%s') = (void)", 
    102102               group, roar_trap_get_groupname(group), name, line, file); 
     103    roar_debug_msg(ROAR_DEBUG_TYPE_WARNING, line, file, prefix, "Trap %s of group %s.", 
     104                   name, roar_trap_get_groupname(group)); 
    103105   break; 
    104106  case ROAR_TRAP_ABORT: 
     
    115117   break; 
    116118#endif 
     119  case ROAR_TRAP_DIE: 
     120    roar_debug_msg(ROAR_DEBUG_TYPE_WARNING, line, file, prefix, "Trap %s of group %s, terminating program.", 
     121                   name, roar_trap_get_groupname(group)); 
     122#ifdef SIGKILL 
     123    raise(SIGKILL); 
     124#else 
     125    abort(); 
     126#endif 
     127   break; 
    117128 } 
    118129#else 
Note: See TracChangeset for help on using the changeset viewer.