hotspot/src/share/vm/utilities/vmError.hpp
changeset 46589 f1c04490ded1
parent 46560 388aa8d67c80
equal deleted inserted replaced
46588:27a438928e38 46589:f1c04490ded1
    84   //   in progress.
    84   //   in progress.
    85   static volatile jlong _step_start_time;
    85   static volatile jlong _step_start_time;
    86   // Whether or not the last error reporting step did timeout.
    86   // Whether or not the last error reporting step did timeout.
    87   static volatile bool _step_did_timeout;
    87   static volatile bool _step_did_timeout;
    88 
    88 
       
    89   static bool _error_reported;
       
    90 
       
    91  public:
       
    92 
    89   // set signal handlers on Solaris/Linux or the default exception filter
    93   // set signal handlers on Solaris/Linux or the default exception filter
    90   // on Windows, to handle recursive crashes.
    94   // on Windows, to handle recursive crashes.
    91   static void reset_signal_handlers();
    95   static void reset_signal_handlers();
    92 
    96 
    93   // handle -XX:+ShowMessageBoxOnError. buf is used to format the message string
    97   // handle -XX:+ShowMessageBoxOnError. buf is used to format the message string
   181 
   185 
   182   // Called by the WatcherThread to check if error reporting has timed-out.
   186   // Called by the WatcherThread to check if error reporting has timed-out.
   183   //  Returns true if error reporting has not completed within the ErrorLogTimeout limit.
   187   //  Returns true if error reporting has not completed within the ErrorLogTimeout limit.
   184   static bool check_timeout();
   188   static bool check_timeout();
   185 
   189 
       
   190   // Support for avoiding multiple asserts
       
   191   static bool is_error_reported();
       
   192 
       
   193   // Test vmassert(), fatal(), guarantee(), etc.
       
   194   NOT_PRODUCT(static void test_error_handler();)
       
   195   NOT_PRODUCT(static void controlled_crash(int how);)
       
   196 
       
   197   // returns an address which is guaranteed to generate a SIGSEGV on read,
       
   198   // for test purposes, which is not NULL and contains bits in every word
       
   199   static void* get_segfault_address();
   186 };
   200 };
   187 
       
   188 #endif // SHARE_VM_UTILITIES_VMERROR_HPP
   201 #endif // SHARE_VM_UTILITIES_VMERROR_HPP