diff --git a/lib/tests/t_api.c b/lib/tests/t_api.c
index c030472170..41ae5254ff 100644
--- a/lib/tests/t_api.c
+++ b/lib/tests/t_api.c
@@ -31,6 +31,10 @@
#include "include/tests/t_api.h"
+#if !defined(__NetBSD__)
+#define T_API_USES_TIMEOUTS 1
+#endif
+
static char *Usage = "\t-a : run all tests\n"
"\t-b
: chdir to dir before running tests"
"\t-c : use specified config file\n"
@@ -215,7 +219,9 @@ main(int argc, char **argv)
sa.sa_flags = 0;
sigfillset(&sa.sa_mask);
sa.sa_handler = t_sighandler;
+#if defined(T_API_USES_TIMEOUTS)
(void)SIGACTION(SIGALRM, &sa, NULL);
+#endif
(void)SIGACTION(SIGINT, &sa, NULL);
/* output start stanza to journal */
@@ -249,9 +255,11 @@ main(int argc, char **argv)
else if (T_pid > 0) {
T_int = 0;
+#if defined(T_API_USES_TIMEOUTS)
sa.sa_handler = t_sighandler;
(void)SIGACTION(SIGALRM, &sa, NULL);
alarm(T_timeout);
+#endif
deadpid = (pid_t) -1;
while (deadpid != T_pid) {
@@ -274,9 +282,11 @@ main(int argc, char **argv)
break;
}
+#if defined(T_API_USES_TIMEOUTS)
alarm(0);
sa.sa_handler = SIG_IGN;
(void)SIGACTION(SIGALRM, &sa, NULL);
+#endif
}
else {
t_info("fork failed, errno == %d\n", errno);