743 |
743 |
744 // Determine which sort of error to throw. Out of swap may signal |
744 // Determine which sort of error to throw. Out of swap may signal |
745 // on the thread stack, which could get a mapping error when touched. |
745 // on the thread stack, which could get a mapping error when touched. |
746 address addr = (address) info->si_addr; |
746 address addr = (address) info->si_addr; |
747 if (sig == SIGBUS && info->si_code == BUS_OBJERR && info->si_errno == ENOMEM) { |
747 if (sig == SIGBUS && info->si_code == BUS_OBJERR && info->si_errno == ENOMEM) { |
748 vm_exit_out_of_memory(0, "Out of swap space to map in thread stack."); |
748 vm_exit_out_of_memory(0, OOM_MMAP_ERROR, "Out of swap space to map in thread stack."); |
749 } |
749 } |
750 |
750 |
751 VMError err(t, sig, pc, info, ucVoid); |
751 VMError err(t, sig, pc, info, ucVoid); |
752 err.report_and_die(); |
752 err.report_and_die(); |
753 |
753 |