test_time: Provide a timeout when waiting.
The test_timezone_watch unit test is written to expect a condition to be signaled when the inotify daemon thread runs. There exists a small window where the test_timezone_watch thread can signal the inotify daemon thread while it is not reading on the underlying file descriptor. If this occurs the test_timezone_watch thread will wait indefinitely for a signal that will never arrive. This change adds a timeout to the condition so it will return regardless after a period of time. Change-Id: Ifed981879df6de3d93acd3ee0a70f92546517390
This commit is contained in:
parent
b4b4a95225
commit
a05bb258b1
|
@ -796,13 +796,16 @@ static void sstate_free(struct state *p)
|
|||
|
||||
void ast_localtime_wakeup_monitor(struct ast_test *info)
|
||||
{
|
||||
struct timeval wait_now = ast_tvnow();
|
||||
struct timespec wait_time = { .tv_sec = wait_now.tv_sec + 2, .tv_nsec = wait_now.tv_usec * 1000 };
|
||||
|
||||
if (inotify_thread != AST_PTHREADT_NULL) {
|
||||
AST_LIST_LOCK(&zonelist);
|
||||
#ifdef TEST_FRAMEWORK
|
||||
test = info;
|
||||
#endif
|
||||
pthread_kill(inotify_thread, SIGURG);
|
||||
ast_cond_wait(&initialization, &(&zonelist)->lock);
|
||||
ast_cond_timedwait(&initialization, &(&zonelist)->lock, &wait_time);
|
||||
#ifdef TEST_FRAMEWORK
|
||||
test = NULL;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue