break;
default:
CHECK(0 && "bad address family");
- abort();
+ ABORT();
}
GetAddrInfoReqWrap* req_wrap = new GetAddrInfoReqWrap(env, req_wrap_obj);
break;
default:
CHECK(0 && "Bad address family.");
- abort();
+ ABORT();
}
if (err)
event_string = env->change_string();
} else {
CHECK(0 && "bad fs events flag");
- abort();
+ ABORT();
}
Local<Value> argv[] = {
if (!tick_callback_function->IsFunction()) {
fprintf(stderr, "process._tickDomainCallback assigned to non-function\n");
- abort();
+ ABORT();
}
process_object->Set(env->tick_callback_string(), tick_callback_function);
static void Abort(const FunctionCallbackInfo<Value>& args) {
- abort();
+ ABORT();
}
fprintf(stderr, "FATAL ERROR: %s\n", message);
}
fflush(stderr);
- abort();
+ ABORT();
}
NO_RETURN void FatalError(const char* location, const char* message) {
OnFatalError(location, message);
// to suppress compiler warning
- abort();
+ ABORT();
}
// Anything but EBADF means something is seriously wrong. We don't
// have to special-case EINTR, fstat() is not interruptible.
if (errno != EBADF)
- abort();
+ ABORT();
if (fd != open("/dev/null", O_RDWR))
- abort();
+ ABORT();
}
CHECK_EQ(err, 0);
for (i = 0; i < n; i++)
if (uv_mutex_init(locks + i))
- abort();
+ ABORT();
}
case kSignPublicKey:
return env()->ThrowError("PEM_read_bio_PUBKEY failed");
default:
- abort();
+ ABORT();
}
}
break;
case BIO_C_SET_BUF_MEM:
CHECK(0 && "Can't use SET_BUF_MEM_PTR with NodeBIO");
- abort();
+ ABORT();
break;
case BIO_C_GET_BUF_MEM_PTR:
CHECK(0 && "Can't use GET_BUF_MEM_PTR with NodeBIO");
r = uv_run(uv_loop_, UV_RUN_DEFAULT);
if (r < 0)
// We can't handle uv_run failure.
- abort();
+ ABORT();
// If we get here the process should have exited.
CHECK_GE(exit_status_, 0);
// callbacks called.
int r = uv_run(uv_loop_, UV_RUN_DEFAULT);
if (r < 0)
- abort();
+ ABORT();
CHECK_EQ(uv_loop_close(uv_loop_), 0);
delete uv_loop_;
handle = wrap->UVHandle();
if (uv_accept(parent->stream(), reinterpret_cast<uv_stream_t*>(handle)))
- abort();
+ ABORT();
return scope.Escape(wrap_obj);
}
SSL_set_connect_state(ssl_);
} else {
// Unexpected
- abort();
+ ABORT();
}
// Initialize ring for queud clear data
case UV_NAMED_PIPE: type = "PIPE"; break;
case UV_UNKNOWN_HANDLE: type = "UNKNOWN"; break;
default:
- abort();
+ ABORT();
}
args.GetReturnValue().Set(OneByteString(env->isolate(), type));
break;
default:
CHECK(0 && "unexpected address family");
- abort();
+ ABORT();
}
if (err == 0) {
break;
default:
CHECK(0 && "unexpected address family");
- abort();
+ ABORT();
}
if (err == 0) {
TypeName(const TypeName&) = delete; \
TypeName(TypeName&&) = delete
+// Windows 8+ does not like abort() in Release mode
+#ifdef _WIN32
+#define ABORT() raise(SIGABRT)
+#else
+#define ABORT() abort()
+#endif
+
#if defined(NDEBUG)
# define ASSERT(expression)
# define CHECK(expression) \
do { \
- if (!(expression)) abort(); \
+ if (!(expression)) ABORT(); \
} while (0)
#else
# define ASSERT(expression) assert(expression)
#define CHECK_LT(a, b) CHECK((a) < (b))
#define CHECK_NE(a, b) CHECK((a) != (b))
-#define UNREACHABLE() abort()
+#define UNREACHABLE() ABORT()
// TAILQ-style intrusive list node.
template <typename T>