VirtualBox

Ignore:
Timestamp:
Sep 10, 2010 9:22:06 AM (14 years ago)
Author:
vboxsync
Message:

Runtime/r3/coredumper: tighten signal handling code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r3/solaris/coredumper-solaris.cpp

    r32374 r32376  
    21382138            CORELOGRELSYS((CORELOG_NAME "TakeDump failed! rc=%Rrc\n", rc));
    21392139    }
    2140     else
     2140    else if (Sig == SIGSEGV || Sig == SIGBUS)
    21412141    {
    21422142        /*
     
    21512151         */
    21522152        if (ASMAtomicReadU64(&g_CoreDumpThread) != (uint64_t)RTThreadSelf())
     2153        {
     2154            CORELOGRELSYS((CORELOG_NAME "SignalHandler: Core dumper (thread %u) crashed Sig=%d. Triggering system dump\n",
     2155                           RTThreadSelf(), Sig));
    21532156            fCallSystemDump = true;
     2157        }
    21542158        else
    21552159        {
    2156             CORELOGRELSYS((CORELOG_NAME "SignalHandler: Core dump already in progress! Waiting before signalling Sig=%d.\n", Sig));
    2157             int64_t iTimeout = 10000;  /* timeout (ms) */
     2160            /*
     2161             * Some other thread in the process is triggering a crash, wait a while
     2162             * to let our core dumper finish, on timeout trigger system dump.
     2163             */
     2164            CORELOGRELSYS((CORELOG_NAME "SignalHandler: Core dump already in progress! Waiting a while for completion Sig=%d.\n", Sig));
     2165            int64_t iTimeout = 16000;  /* timeout (ms) */
    21582166            while (ASMAtomicReadBool(&g_fCoreDumpInProgress) == true)
    21592167            {
     
    21662174            {
    21672175                fCallSystemDump = true;
    2168                 CORELOGRELSYS((CORELOG_NAME "SignalHandler: Core dump seems to be stuck. Signalling new signal %d\n", Sig));
     2176                CORELOGRELSYS((CORELOG_NAME "SignalHandler: Core dumper seems to be stuck. Signalling new signal %d\n", Sig));
    21692177            }
    21702178        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette