libuv 1.47.0.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4615 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2023-11-07 17:30:39 +00:00
parent 889773c38d
commit ee9cb63327
226 changed files with 6648 additions and 6444 deletions

View File

@@ -31,12 +31,12 @@ TEST_IMPL(kill_invalid_signum) {
pid = uv_os_getpid();
ASSERT(uv_kill(pid, -1) == UV_EINVAL);
ASSERT_EQ(uv_kill(pid, -1), UV_EINVAL);
#ifdef _WIN32
/* NSIG is not available on all platforms. */
ASSERT(uv_kill(pid, NSIG) == UV_EINVAL);
ASSERT_EQ(uv_kill(pid, NSIG), UV_EINVAL);
#endif
ASSERT(uv_kill(pid, 4096) == UV_EINVAL);
ASSERT_EQ(uv_kill(pid, 4096), UV_EINVAL);
MAKE_VALGRIND_HAPPY(uv_default_loop());
return 0;
@@ -55,20 +55,20 @@ TEST_IMPL(win32_signum_number) {
loop = uv_default_loop();
uv_signal_init(loop, &signal);
ASSERT(uv_signal_start(&signal, signum_test_cb, 0) == UV_EINVAL);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGINT) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGBREAK) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGHUP) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGWINCH) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGILL) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGABRT_COMPAT) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGFPE) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGSEGV) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGTERM) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, SIGABRT) == 0);
ASSERT(uv_signal_start(&signal, signum_test_cb, -1) == UV_EINVAL);
ASSERT(uv_signal_start(&signal, signum_test_cb, NSIG) == UV_EINVAL);
ASSERT(uv_signal_start(&signal, signum_test_cb, 1024) == UV_EINVAL);
ASSERT_EQ(uv_signal_start(&signal, signum_test_cb, 0), UV_EINVAL);
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGINT));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGBREAK));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGHUP));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGWINCH));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGILL));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGABRT_COMPAT));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGFPE));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGSEGV));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGTERM));
ASSERT_OK(uv_signal_start(&signal, signum_test_cb, SIGABRT));
ASSERT_EQ(uv_signal_start(&signal, signum_test_cb, -1), UV_EINVAL);
ASSERT_EQ(uv_signal_start(&signal, signum_test_cb, NSIG), UV_EINVAL);
ASSERT_EQ(uv_signal_start(&signal, signum_test_cb, 1024), UV_EINVAL);
MAKE_VALGRIND_HAPPY(loop);
return 0;
}
@@ -100,7 +100,7 @@ struct signal_ctx {
static void signal_cb(uv_signal_t* handle, int signum) {
struct signal_ctx* ctx = container_of(handle, struct signal_ctx, handle);
ASSERT(signum == ctx->signum);
ASSERT_EQ(signum, ctx->signum);
if (++ctx->ncalls == NSIGNALS) {
if (ctx->stop_or_close == STOP)
uv_signal_stop(handle);
@@ -113,8 +113,8 @@ static void signal_cb(uv_signal_t* handle, int signum) {
static void signal_cb_one_shot(uv_signal_t* handle, int signum) {
struct signal_ctx* ctx = container_of(handle, struct signal_ctx, handle);
ASSERT(signum == ctx->signum);
ASSERT(++ctx->ncalls == 1);
ASSERT_EQ(signum, ctx->signum);
ASSERT_EQ(1, ++ctx->ncalls);
if (ctx->stop_or_close == CLOSE)
uv_close((uv_handle_t*)handle, NULL);
}
@@ -138,18 +138,18 @@ static void start_watcher(uv_loop_t* loop,
ctx->signum = signum;
ctx->stop_or_close = CLOSE;
ctx->one_shot = one_shot;
ASSERT(0 == uv_signal_init(loop, &ctx->handle));
ASSERT_OK(uv_signal_init(loop, &ctx->handle));
if (one_shot)
ASSERT(0 == uv_signal_start_oneshot(&ctx->handle, signal_cb_one_shot, signum));
ASSERT_OK(uv_signal_start_oneshot(&ctx->handle, signal_cb_one_shot, signum));
else
ASSERT(0 == uv_signal_start(&ctx->handle, signal_cb, signum));
ASSERT_OK(uv_signal_start(&ctx->handle, signal_cb, signum));
}
static void start_timer(uv_loop_t* loop, int signum, struct timer_ctx* ctx) {
ctx->ncalls = 0;
ctx->signum = signum;
ASSERT(0 == uv_timer_init(loop, &ctx->handle));
ASSERT(0 == uv_timer_start(&ctx->handle, timer_cb, 5, 5));
ASSERT_OK(uv_timer_init(loop, &ctx->handle));
ASSERT_OK(uv_timer_start(&ctx->handle, timer_cb, 5, 5));
}
@@ -162,23 +162,23 @@ TEST_IMPL(we_get_signal) {
start_timer(loop, SIGCHLD, &tc);
start_watcher(loop, SIGCHLD, &sc, 0);
sc.stop_or_close = STOP; /* stop, don't close the signal handle */
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc.ncalls == NSIGNALS);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(sc.ncalls, NSIGNALS);
start_timer(loop, SIGCHLD, &tc);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc.ncalls == NSIGNALS);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(sc.ncalls, NSIGNALS);
sc.ncalls = 0;
sc.stop_or_close = CLOSE; /* now close it when it's done */
uv_signal_start(&sc.handle, signal_cb, SIGCHLD);
start_timer(loop, SIGCHLD, &tc);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc.ncalls == NSIGNALS);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(sc.ncalls, NSIGNALS);
MAKE_VALGRIND_HAPPY(loop);
return 0;
@@ -198,13 +198,13 @@ TEST_IMPL(we_get_signals) {
start_watcher(loop, SIGUSR2, sc + 3, 0);
start_timer(loop, SIGUSR1, tc + 0);
start_timer(loop, SIGUSR2, tc + 1);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
for (i = 0; i < ARRAY_SIZE(sc); i++)
ASSERT(sc[i].ncalls == NSIGNALS);
ASSERT_EQ(sc[i].ncalls, NSIGNALS);
for (i = 0; i < ARRAY_SIZE(tc); i++)
ASSERT(tc[i].ncalls == NSIGNALS);
ASSERT_EQ(tc[i].ncalls, NSIGNALS);
MAKE_VALGRIND_HAPPY(loop);
return 0;
@@ -219,21 +219,21 @@ TEST_IMPL(we_get_signal_one_shot) {
start_timer(loop, SIGCHLD, &tc);
start_watcher(loop, SIGCHLD, &sc, 1);
sc.stop_or_close = NOOP;
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc.ncalls == 1);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(1, sc.ncalls);
start_timer(loop, SIGCHLD, &tc);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(sc.ncalls == 1);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(1, sc.ncalls);
sc.ncalls = 0;
sc.stop_or_close = CLOSE; /* now close it when it's done */
uv_signal_start_oneshot(&sc.handle, signal_cb_one_shot, SIGCHLD);
start_timer(loop, SIGCHLD, &tc);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc.ncalls == 1);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(1, sc.ncalls);
MAKE_VALGRIND_HAPPY(loop);
return 0;
@@ -252,10 +252,10 @@ TEST_IMPL(we_get_signals_mixed) {
start_watcher(loop, SIGCHLD, sc + 1, 1);
sc[0].stop_or_close = CLOSE;
sc[1].stop_or_close = CLOSE;
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc[0].ncalls == 1);
ASSERT(sc[1].ncalls == 1);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(1, sc[0].ncalls);
ASSERT_EQ(1, sc[1].ncalls);
/* 2 one-shot, 1 normal then remove normal */
start_timer(loop, SIGCHLD, &tc);
@@ -265,11 +265,11 @@ TEST_IMPL(we_get_signals_mixed) {
sc[1].stop_or_close = CLOSE;
start_watcher(loop, SIGCHLD, sc + 2, 0);
uv_close((uv_handle_t*)&(sc[2]).handle, NULL);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc[0].ncalls == 1);
ASSERT(sc[1].ncalls == 1);
ASSERT(sc[2].ncalls == 0);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(1, sc[0].ncalls);
ASSERT_EQ(1, sc[1].ncalls);
ASSERT_OK(sc[2].ncalls);
/* 2 normal, 1 one-shot then remove one-shot */
start_timer(loop, SIGCHLD, &tc);
@@ -279,11 +279,11 @@ TEST_IMPL(we_get_signals_mixed) {
sc[1].stop_or_close = CLOSE;
start_watcher(loop, SIGCHLD, sc + 2, 1);
uv_close((uv_handle_t*)&(sc[2]).handle, NULL);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc[0].ncalls == NSIGNALS);
ASSERT(sc[1].ncalls == NSIGNALS);
ASSERT(sc[2].ncalls == 0);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_EQ(sc[0].ncalls, NSIGNALS);
ASSERT_EQ(sc[1].ncalls, NSIGNALS);
ASSERT_OK(sc[2].ncalls);
/* 2 normal, 2 one-shot then remove 2 normal */
start_timer(loop, SIGCHLD, &tc);
@@ -295,12 +295,12 @@ TEST_IMPL(we_get_signals_mixed) {
sc[3].stop_or_close = CLOSE;
uv_close((uv_handle_t*)&(sc[0]).handle, NULL);
uv_close((uv_handle_t*)&(sc[1]).handle, NULL);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc[0].ncalls == 0);
ASSERT(sc[1].ncalls == 0);
ASSERT(sc[2].ncalls == 1);
ASSERT(sc[2].ncalls == 1);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_OK(sc[0].ncalls);
ASSERT_OK(sc[1].ncalls);
ASSERT_EQ(1, sc[2].ncalls);
ASSERT_EQ(1, sc[2].ncalls);
/* 1 normal, 1 one-shot, 2 normal then remove 1st normal, 2nd normal */
start_timer(loop, SIGCHLD, &tc);
@@ -311,12 +311,12 @@ TEST_IMPL(we_get_signals_mixed) {
sc[3].stop_or_close = CLOSE;
uv_close((uv_handle_t*)&(sc[0]).handle, NULL);
uv_close((uv_handle_t*)&(sc[2]).handle, NULL);
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
ASSERT(tc.ncalls == NSIGNALS);
ASSERT(sc[0].ncalls == 0);
ASSERT(sc[1].ncalls == 1);
ASSERT(sc[2].ncalls == 0);
ASSERT(sc[3].ncalls == NSIGNALS);
ASSERT_OK(uv_run(loop, UV_RUN_DEFAULT));
ASSERT_EQ(tc.ncalls, NSIGNALS);
ASSERT_OK(sc[0].ncalls);
ASSERT_EQ(1, sc[1].ncalls);
ASSERT_OK(sc[2].ncalls);
ASSERT_EQ(sc[3].ncalls, NSIGNALS);
MAKE_VALGRIND_HAPPY(loop);
return 0;