Changeset 558

Show
Ignore:
Timestamp:
05/31/06 13:30:48 (3 years ago)
Author:
common
Message:

nepenthes
- Nepenthes check for nepenthes in signal handler before logging
- LogManager? check for registerd loggers before logging, if no handlers re registerd, log using printf
- Nepenthes, dont handle SIGUSR1/2
- LogManager? clear() loggers on destruction

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nepenthes/trunk/nepenthes-core/src/LogManager.cpp

    r505 r558  
    3434#include "LogHandlerEntry.hpp" 
    3535#include "LogHandler.hpp" 
     36#include "Nepenthes.hpp" 
    3637 
    3738using namespace nepenthes; 
     
    5455LogManager::~LogManager() 
    5556{ 
     57        logPF(); 
    5658        // unregister all loggers. 
    5759        list<LogHandlerEntry *>::iterator it; 
     
    6264                delete (*it); 
    6365        } 
     66         
     67        m_Loggers.clear(); 
    6468} 
    6569 
     
    127131void LogManager::log(uint32_t mask, const char *message) 
    128132{ 
     133        if ( m_Loggers.size() == 0) 
     134        { 
     135                printf("%s",message); 
     136                return; 
     137        } 
     138 
    129139        list<LogHandlerEntry *>::iterator it; 
    130140 
  • nepenthes/trunk/nepenthes-core/src/Nepenthes.cpp

    r557 r558  
    111111Nepenthes::~Nepenthes() 
    112112{ 
     113        logPF(); 
    113114        if ( m_SocketManager != NULL ) 
    114115        delete m_SocketManager; 
     
    144145                delete m_LogManager; 
    145146 
     147        g_Nepenthes = NULL; 
     148         
     149        printf("Quit\n"); 
    146150} 
    147151 
     
    13941398void SignalHandler(int32_t iSignal) 
    13951399{ 
    1396     printf("Got signal %i\n", iSignal); 
    1397     switch(iSignal
    1398    
     1400       printf("Got signal %i\n", iSignal); 
     1401       switch ( iSignal
     1402       
    13991403        case SIGHUP: 
    14001404                logCrit("Got SIGHUP\nRereading Config File!\n\n"); 
     
    14131417 
    14141418        case SIGSEGV: 
    1415                 logCrit("Segmentation Fault\n"); 
     1419                if ( g_Nepenthes != NULL ) 
     1420                        logCrit("Segmentation Fault\n"); 
    14161421                exit(-1); 
    14171422                break; 
    14181423 
     1424        case SIGBUS: 
     1425                if ( g_Nepenthes != NULL ) 
     1426                        logCrit("Bus Error\n"); 
     1427                exit(-1); 
     1428                break; 
     1429 
    14191430        default: 
    1420                 logCrit("Exit 'cause of %i\n", iSignal); 
    1421                 g_Nepenthes->stop(); 
     1431                if ( g_Nepenthes != NULL ) 
     1432                { 
     1433                        logCrit("Exit 'cause of %i\n", iSignal); 
     1434                        g_Nepenthes->stop(); 
     1435                } 
    14221436        } 
    14231437} 
     
    14731487        signal(SIGALRM,  SignalHandler);        //      14       Term    Timer signal from alarm(2) 
    14741488        signal(SIGTERM,  SignalHandler);        //      15       Term    Termination signal 
    1475       signal(SIGUSR1,  SignalHandler);        //   30,10,16    Term    User-defined signal 1 
    1476       signal(SIGUSR2,  SignalHandler);        //   31,12,17    Term    User-defined signal 2 
     1489//    signal(SIGUSR1,  SignalHandler);        //   30,10,16    Term    User-defined signal 1 
     1490//    signal(SIGUSR2,  SignalHandler);        //   31,12,17    Term    User-defined signal 2 
    14771491        signal(SIGCHLD,  SignalHandler);        //   20,17,18    Ign     Child stopped or terminated 
    14781492        signal(SIGCONT,  SignalHandler);        //   19,18,25            Continue if stopped 
     
    15251539#endif 
    15261540         
    1527         Nepenthes nepenthes; 
    1528         return nepenthes.run(argc, argv); 
     1541        Nepenthes *nepenthes = new Nepenthes(); 
     1542        int retval = nepenthes->run(argc, argv); 
     1543        delete nepenthes; 
     1544        printf("run is done %i\n",retval); 
     1545        return retval; 
    15291546} 
    15301547 
     
    16151632                {"u",   "user=USER",                            "switch to USER after startup", "keep current user"}, 
    16161633                {"g",   "group=GROUP",                  "switch to GROUP after startup (use with -u)", "keep current group"}, 
    1617                 {"v", "version",                      "show version",                                                 ""                                              }, 
     1634                {"V", "version",                      "show version",                                                 ""                                              }, 
    16181635                {"w",   "workingdir=DIR",               "set the process' working dir to DIR",                  PREFIX          }, 
    16191636        };