summaryrefslogtreecommitdiff
path: root/tests/test-file-has-acl.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-file-has-acl.c')
-rw-r--r--tests/test-file-has-acl.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/test-file-has-acl.c b/tests/test-file-has-acl.c
index daab4dbd9f..5685f41155 100644
--- a/tests/test-file-has-acl.c
+++ b/tests/test-file-has-acl.c
@@ -1,5 +1,5 @@
/* Test for presence of ACL.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2009 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
#include "acl.h"
+#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -54,6 +55,14 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
+ /* Check against possible infinite loop in file_has_acl. */
+#if HAVE_DECL_ALARM
+ /* Declare failure if test takes too long, by using default abort
+ caused by SIGALRM. */
+ signal (SIGALRM, SIG_DFL);
+ alarm (5);
+#endif
+
#if USE_ACL
{
int ret = file_has_acl (file, &statbuf);