hotspot/agent/src/os/solaris/proc/saproc.cpp
changeset 25901 34036ccd1364
parent 22234 da823d78ad65
child 25945 cb5dcc388aff
equal deleted inserted replaced
25899:337ed0e9c13c 25901:34036ccd1364
   659 
   659 
   660   memset(pheader, 0, sizeof(struct FileMapHeader));
   660   memset(pheader, 0, sizeof(struct FileMapHeader));
   661   // read FileMapHeader
   661   // read FileMapHeader
   662   size_t n = read(fd, pheader, sizeof(struct FileMapHeader));
   662   size_t n = read(fd, pheader, sizeof(struct FileMapHeader));
   663   if (n != sizeof(struct FileMapHeader)) {
   663   if (n != sizeof(struct FileMapHeader)) {
   664     free(pheader);
       
   665     close(fd);
       
   666     char errMsg[ERR_MSG_SIZE];
   664     char errMsg[ERR_MSG_SIZE];
   667     sprintf(errMsg, "unable to read shared archive file map header from %s", classes_jsa);
   665     sprintf(errMsg, "unable to read shared archive file map header from %s", classes_jsa);
       
   666     close(fd);
       
   667     free(pheader);
   668     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   668     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   669   }
   669   }
   670 
   670 
   671   // check file magic
   671   // check file magic
   672   if (pheader->_magic != 0xf00baba2) {
   672   if (pheader->_magic != 0xf00baba2) {
   673     free(pheader);
       
   674     close(fd);
       
   675     char errMsg[ERR_MSG_SIZE];
   673     char errMsg[ERR_MSG_SIZE];
   676     sprintf(errMsg, "%s has bad shared archive magic 0x%x, expecting 0xf00baba2",
   674     sprintf(errMsg, "%s has bad shared archive magic 0x%x, expecting 0xf00baba2",
   677                    classes_jsa, pheader->_magic);
   675                    classes_jsa, pheader->_magic);
       
   676     close(fd);
       
   677     free(pheader);
   678     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   678     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   679   }
   679   }
   680 
   680 
   681   // check version
   681   // check version
   682   if (pheader->_version != CURRENT_ARCHIVE_VERSION) {
   682   if (pheader->_version != CURRENT_ARCHIVE_VERSION) {
   683     free(pheader);
       
   684     close(fd);
       
   685     char errMsg[ERR_MSG_SIZE];
   683     char errMsg[ERR_MSG_SIZE];
   686     sprintf(errMsg, "%s has wrong shared archive version %d, expecting %d",
   684     sprintf(errMsg, "%s has wrong shared archive version %d, expecting %d",
   687                    classes_jsa, pheader->_version, CURRENT_ARCHIVE_VERSION);
   685                    classes_jsa, pheader->_version, CURRENT_ARCHIVE_VERSION);
       
   686     close(fd);
       
   687     free(pheader);
   688     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   688     THROW_NEW_DEBUGGER_EXCEPTION_(errMsg, 1);
   689   }
   689   }
   690 
   690 
   691   if (_libsaproc_debug) {
   691   if (_libsaproc_debug) {
   692     for (int m = 0; m < NUM_SHARED_MAPS; m++) {
   692     for (int m = 0; m < NUM_SHARED_MAPS; m++) {