@@ -940,9 +940,17 @@ luaA_dofunction_on_error(lua_State *L)
940940static void
941941setup_awesome_signals (lua_State * L )
942942{
943+ int count = 0 ;
944+ #define SETUP_SIGNAL (sig ) \
945+ do { \
946+ count++; \
947+ } while (0)
948+ #include "unix_signals.h"
949+ #undef SETUP_SIGNAL
950+
943951 lua_getglobal (L , "awesome" );
944952 lua_pushstring (L , "unix_signal" );
945- lua_newtable ( L );
953+ lua_createtable ( L , 0 , count );
946954
947955#define SETUP_SIGNAL (sig ) \
948956 do { \
@@ -954,76 +962,7 @@ setup_awesome_signals(lua_State *L)
954962 lua_pushstring (L , #sig ); \
955963 lua_settable (L , -3 ); \
956964 } while (0 )
957-
958- /* Non-standard signals. These are first so that e.g. (on my system)
959- * signals[29] is SIGPOLL and not SIGIO (the value gets overwritten).
960- */
961- #ifdef SIGIOT
962- SETUP_SIGNAL (SIGIOT );
963- #endif
964- #ifdef SIGEMT
965- SETUP_SIGNAL (SIGEMT );
966- #endif
967- #ifdef SIGSTKFLT
968- SETUP_SIGNAL (SIGSTKFLT );
969- #endif
970- #ifdef SIGIO
971- SETUP_SIGNAL (SIGIO );
972- #endif
973- #ifdef SIGCLD
974- SETUP_SIGNAL (SIGCLD );
975- #endif
976- #ifdef SIGPWR
977- SETUP_SIGNAL (SIGPWR );
978- #endif
979- #ifdef SIGINFO
980- SETUP_SIGNAL (SIGINFO );
981- #endif
982- #ifdef SIGLOST
983- SETUP_SIGNAL (SIGLOST );
984- #endif
985- #ifdef SIGWINCH
986- SETUP_SIGNAL (SIGWINCH );
987- #endif
988- #ifdef SIGUNUSED
989- SETUP_SIGNAL (SIGUNUSED );
990- #endif
991-
992- /* POSIX.1-1990, according to man 7 signal */
993- SETUP_SIGNAL (SIGHUP );
994- SETUP_SIGNAL (SIGINT );
995- SETUP_SIGNAL (SIGQUIT );
996- SETUP_SIGNAL (SIGILL );
997- SETUP_SIGNAL (SIGABRT );
998- SETUP_SIGNAL (SIGFPE );
999- SETUP_SIGNAL (SIGKILL );
1000- SETUP_SIGNAL (SIGSEGV );
1001- SETUP_SIGNAL (SIGPIPE );
1002- SETUP_SIGNAL (SIGALRM );
1003- SETUP_SIGNAL (SIGTERM );
1004- SETUP_SIGNAL (SIGUSR1 );
1005- SETUP_SIGNAL (SIGUSR2 );
1006- SETUP_SIGNAL (SIGCHLD );
1007- SETUP_SIGNAL (SIGCONT );
1008- SETUP_SIGNAL (SIGSTOP );
1009- SETUP_SIGNAL (SIGTSTP );
1010- SETUP_SIGNAL (SIGTTIN );
1011- SETUP_SIGNAL (SIGTTOU );
1012-
1013- /* POSIX.1-2001, according to man 7 signal */
1014- SETUP_SIGNAL (SIGBUS );
1015- /* Some Operating Systems doesn't have SIGPOLL (e.g. FreeBSD) */
1016- #ifdef SIGPOLL
1017- SETUP_SIGNAL (SIGPOLL );
1018- #endif
1019- SETUP_SIGNAL (SIGPROF );
1020- SETUP_SIGNAL (SIGSYS );
1021- SETUP_SIGNAL (SIGTRAP );
1022- SETUP_SIGNAL (SIGURG );
1023- SETUP_SIGNAL (SIGVTALRM );
1024- SETUP_SIGNAL (SIGXCPU );
1025- SETUP_SIGNAL (SIGXFSZ );
1026-
965+ #include "unix_signals.h"
1027966#undef SETUP_SIGNAL
1028967
1029968 /* Set awesome.signal to the table we just created, key was already pushed */
0 commit comments