hotspot/src/os/bsd/vm/os_bsd.cpp
changeset 33105 294e48b4f704
parent 32080 9d2ace436482
child 33148 68fa8b6c4340
equal deleted inserted replaced
33104:a7c0f60a1294 33105:294e48b4f704
  1975 }
  1975 }
  1976 
  1976 
  1977 OSXSemaphore::OSXSemaphore(uint value) {
  1977 OSXSemaphore::OSXSemaphore(uint value) {
  1978   kern_return_t ret = SEM_INIT(_semaphore, value);
  1978   kern_return_t ret = SEM_INIT(_semaphore, value);
  1979 
  1979 
  1980   guarantee(ret == KERN_SUCCESS, err_msg("Failed to create semaphore: %s", sem_init_strerror(ret)));
  1980   guarantee(ret == KERN_SUCCESS, "Failed to create semaphore: %s", sem_init_strerror(ret));
  1981 }
  1981 }
  1982 
  1982 
  1983 OSXSemaphore::~OSXSemaphore() {
  1983 OSXSemaphore::~OSXSemaphore() {
  1984   SEM_DESTROY(_semaphore);
  1984   SEM_DESTROY(_semaphore);
  1985 }
  1985 }
  2211                                   const char* mesg) {
  2211                                   const char* mesg) {
  2212   assert(mesg != NULL, "mesg must be specified");
  2212   assert(mesg != NULL, "mesg must be specified");
  2213   if (!pd_commit_memory(addr, size, exec)) {
  2213   if (!pd_commit_memory(addr, size, exec)) {
  2214     // add extra info in product mode for vm_exit_out_of_memory():
  2214     // add extra info in product mode for vm_exit_out_of_memory():
  2215     PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);)
  2215     PRODUCT_ONLY(warn_fail_commit_memory(addr, size, exec, errno);)
  2216     vm_exit_out_of_memory(size, OOM_MMAP_ERROR, mesg);
  2216     vm_exit_out_of_memory(size, OOM_MMAP_ERROR, "%s", mesg);
  2217   }
  2217   }
  2218 }
  2218 }
  2219 
  2219 
  2220 void os::pd_commit_memory_or_exit(char* addr, size_t size,
  2220 void os::pd_commit_memory_or_exit(char* addr, size_t size,
  2221                                   size_t alignment_hint, bool exec,
  2221                                   size_t alignment_hint, bool exec,
  3098       // save the old handler in jvm
  3098       // save the old handler in jvm
  3099       save_preinstalled_handler(sig, oldAct);
  3099       save_preinstalled_handler(sig, oldAct);
  3100       // libjsig also interposes the sigaction() call below and saves the
  3100       // libjsig also interposes the sigaction() call below and saves the
  3101       // old sigaction on it own.
  3101       // old sigaction on it own.
  3102     } else {
  3102     } else {
  3103       fatal(err_msg("Encountered unexpected pre-existing sigaction handler "
  3103       fatal("Encountered unexpected pre-existing sigaction handler "
  3104                     "%#lx for signal %d.", (long)oldhand, sig));
  3104             "%#lx for signal %d.", (long)oldhand, sig);
  3105     }
  3105     }
  3106   }
  3106   }
  3107 
  3107 
  3108   struct sigaction sigAct;
  3108   struct sigaction sigAct;
  3109   sigfillset(&(sigAct.sa_mask));
  3109   sigfillset(&(sigAct.sa_mask));
  3457 
  3457 
  3458   ThreadCritical::initialize();
  3458   ThreadCritical::initialize();
  3459 
  3459 
  3460   Bsd::set_page_size(getpagesize());
  3460   Bsd::set_page_size(getpagesize());
  3461   if (Bsd::page_size() == -1) {
  3461   if (Bsd::page_size() == -1) {
  3462     fatal(err_msg("os_bsd.cpp: os::init: sysconf failed (%s)",
  3462     fatal("os_bsd.cpp: os::init: sysconf failed (%s)", strerror(errno));
  3463                   strerror(errno)));
       
  3464   }
  3463   }
  3465   init_page_sizes((size_t) Bsd::page_size());
  3464   init_page_sizes((size_t) Bsd::page_size());
  3466 
  3465 
  3467   Bsd::initialize_system_info();
  3466   Bsd::initialize_system_info();
  3468 
  3467