hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
changeset 33105 294e48b4f704
parent 32080 9d2ace436482
child 33148 68fa8b6c4340
equal deleted inserted replaced
33104:a7c0f60a1294 33105:294e48b4f704
   729   sigset_t newset;
   729   sigset_t newset;
   730   sigemptyset(&newset);
   730   sigemptyset(&newset);
   731   sigaddset(&newset, sig);
   731   sigaddset(&newset, sig);
   732   sigprocmask(SIG_UNBLOCK, &newset, NULL);
   732   sigprocmask(SIG_UNBLOCK, &newset, NULL);
   733 
   733 
   734   VMError err(t, sig, pc, info, ucVoid);
   734   VMError::report_and_die(t, sig, pc, info, ucVoid);
   735   err.report_and_die();
       
   736 
   735 
   737   ShouldNotReachHere();
   736   ShouldNotReachHere();
   738   return false;
   737   return false;
   739 }
   738 }
   740 
   739 
   863 #elif defined(__OpenBSD__)
   862 #elif defined(__OpenBSD__)
   864   stack_t ss;
   863   stack_t ss;
   865   int rslt = pthread_stackseg_np(pthread_self(), &ss);
   864   int rslt = pthread_stackseg_np(pthread_self(), &ss);
   866 
   865 
   867   if (rslt != 0)
   866   if (rslt != 0)
   868     fatal(err_msg("pthread_stackseg_np failed with err = %d", rslt));
   867     fatal("pthread_stackseg_np failed with err = %d", rslt);
   869 
   868 
   870   *bottom = (address)((char *)ss.ss_sp - ss.ss_size);
   869   *bottom = (address)((char *)ss.ss_sp - ss.ss_size);
   871   *size   = ss.ss_size;
   870   *size   = ss.ss_size;
   872 #else
   871 #else
   873   pthread_attr_t attr;
   872   pthread_attr_t attr;
   874 
   873 
   875   int rslt = pthread_attr_init(&attr);
   874   int rslt = pthread_attr_init(&attr);
   876 
   875 
   877   // JVM needs to know exact stack location, abort if it fails
   876   // JVM needs to know exact stack location, abort if it fails
   878   if (rslt != 0)
   877   if (rslt != 0)
   879     fatal(err_msg("pthread_attr_init failed with err = %d", rslt));
   878     fatal("pthread_attr_init failed with err = %d", rslt);
   880 
   879 
   881   rslt = pthread_attr_get_np(pthread_self(), &attr);
   880   rslt = pthread_attr_get_np(pthread_self(), &attr);
   882 
   881 
   883   if (rslt != 0)
   882   if (rslt != 0)
   884     fatal(err_msg("pthread_attr_get_np failed with err = %d", rslt));
   883     fatal("pthread_attr_get_np failed with err = %d", rslt);
   885 
   884 
   886   if (pthread_attr_getstackaddr(&attr, (void **)bottom) != 0 ||
   885   if (pthread_attr_getstackaddr(&attr, (void **)bottom) != 0 ||
   887     pthread_attr_getstacksize(&attr, size) != 0) {
   886     pthread_attr_getstacksize(&attr, size) != 0) {
   888     fatal("Can not locate current stack attributes!");
   887     fatal("Can not locate current stack attributes!");
   889   }
   888   }