+
+ } else if (kr != KERN_SUCCESS) {
+ const char* name = nullptr;
+ switch (kr) { // https://github.com/apple/darwin-xnu/blob/main/bsd/kern/stackshot.c#L42
+ case KERN_SUCCESS:
+ name = "kr=KERN_SUCCESS";
+ break;
+ case KERN_RESOURCE_SHORTAGE:
+ name = "kr=KERN_RESOURCE_SHORTAGE (ENOMEM)";
+ break;
+ case KERN_INSUFFICIENT_BUFFER_SIZE:
+ name = "kr=KERN_INSUFFICIENT_BUFFER_SIZE (ENOSPC)";
+ break;
+ case KERN_NO_SPACE:
+ name = "kr=KERN_NO_SPACE (ENOSPC)";
+ break;
+ case KERN_NO_ACCESS:
+ name = "kr=KERN_NO_ACCESS (EPERM)";
+ break;
+ case KERN_MEMORY_PRESENT:
+ name = "kr=KERN_MEMORY_PRESENT (EEXIST)";
+ break;
+ case KERN_NOT_SUPPORTED:
+ name = "kr=KERN_NOT_SUPPORTED (ENOTSUP)";
+ break;
+ case KERN_NOT_IN_SET:
+ name = "kr=KERN_NOT_IN_SET (ENOENT)";
+ break;
+ case KERN_ABORTED:
+ name = "kr=KERN_ABORTED (EINTR)";
+ break;
+ case KERN_FAILURE:
+ name = "kr=KERN_FAILURE (EBUSY)";
+ break;
+ case KERN_OPERATION_TIMED_OUT:
+ name = "kr=KERN_OPERATION_TIMED_OUT (ETIMEDOUT)";
+ break;
+ default:
+ name = "kr=default case (EINVAL)";
+ }