2010-11-09 2 views
1

У меня есть код, который необходимо скомпилировать для нескольких платформ. Ниже будет сделать код компиляции, но я хочу знать, где SIGUNUSED символ фактически определяется:Где SIGUNUSED точно определено в файлах заголовков?

Рабочий код

#ifdef LINUX 
#define SIGEMT SIGUNUSED 
#endif 

...

void set_sig_trap() 
{ 
    signal(SIGHUP, Signal);  /* floating point exception   */ 
    signal(SIGINT , Signal);  /* Interrupt       */ 
    signal(SIGQUIT, Signal);  /* quit        */ 
    signal(SIGILL, Signal);  /* Illegal instruction     */ 
    signal(SIGTRAP, Signal);  /* trace trap       */ 
    signal(SIGABRT, Signal);  /* Process abort signal    */ 
    signal(SIGEMT, Signal);  /* EMT instruction      */ 
    signal(SIGFPE, Signal);  /* Floating point exception   */ 
    signal(SIGBUS, Signal);  /* bus error       */ 
    signal(SIGSEGV, Signal);  /* Segmentation violation    */ 
    signal(SIGSYS, Signal);  /* bad argument to system call   */ 
    signal(SIGPIPE, Signal);  /* write on a pipe - no one to read it */ 
    signal(SIGTERM, Signal);  /* Software termination sig. from kill */ 
    signal(SIGALRM, Signal);  /* alarm clock       */ 
    return; 
} 

...

Я искал SIGUNUSED в/usr/include без хитов. Это не в сигнале. Откуда он?

Update:

Я не думаю, что определение сигнала будет вне signal.h в ответ указал, рекурсивный поиск сделал найти определение:

[email protected]:/usr/include $ grep -d recurse SIGUNUSED * 
asm/signal.h:#define SIGUNUSED  31 
asm-arm/signal.h:#define  SIGUNUSED  31 
asm-ia64/signal.h:/* signal 31 is no longer "unused", but the SIGUNUSED macro remains for backwards compatibility */ 
asm-ia64/signal.h:#define  SIGUNUSED  31 
asm-parisc/signal.h:#define  SIGUNUSED  31 
asm-parisc/signal.h:#define SIGRESERVE SIGUNUSED 
asm-powerpc/signal.h:#define SIGUNUSED  31 
asm-s390/signal.h:#define SIGUNUSED  31 
asm-x86/signal.h:#define  SIGUNUSED  31 
bits/signum.h:#define SIGUNUSED 31 

Спасибо!

ответ

2

Я вижу это определено в bits/signum.h, который входит в signal.h:

#define SIGUNUSED 31 

Может быть, вы забыли Grep рекурсивно?

Смежные вопросы