Changeset 4784:7aa703c721af in roaraudio


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

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/debug.h

    r4708 r4784  
    7474void roar_debug_msg_simple(const char *format, ...); 
    7575 
    76 void roar_debug_msg(int type, unsigned long int line, char * file, char * prefix, char * format, ...); 
     76void roar_debug_msg(int type, unsigned long int line, const char * file, const char * prefix, const char * format, ...); 
    7777 
    7878#endif 
  • include/libroar/trap.h

    r4782 r4784  
    4040 
    4141#ifdef ROAR_SUPPORT_TRAP 
    42 #define roar_strap(group,name) roar_strap_impl((group),(name), __LINE__, __FILE__) 
     42#define roar_strap(group,name) roar_strap_impl((group),(name), __LINE__, __FILE__, ROAR_DBG_PREFIX) 
    4343#else 
    4444#define roar_strap(group,name) 
     
    5959 ROAR_TRAP_ABORT, 
    6060 ROAR_TRAP_KILL, 
    61  ROAR_TRAP_STOP 
     61 ROAR_TRAP_STOP, 
     62 ROAR_TRAP_DIE 
    6263}; 
    6364 
     
    6667unsigned int roar_trap_get_groupid(const char * name); 
    6768 
    68 void roar_strap_impl(const unsigned int group, const char * name, unsigned int line, const char * file); 
     69void roar_strap_impl(const unsigned int group, const char * name, unsigned int line, const char * file, const char * prefix); 
    6970 
    7071#endif 
  • 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.