Co-authored-by: Jelani Brandon <jebrando@microsoft.com>
This commit is contained in:
Jelani Brandon 2023-10-06 15:52:13 -07:00 коммит произвёл GitHub
Родитель bdcd1ad58e
Коммит 1349508f19
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 13 добавлений и 13 удалений

Просмотреть файл

@ -143,7 +143,7 @@ jobs:
- job: linuxubuntu - job: linuxubuntu
displayName: 'Build Linux Ubuntu' displayName: 'Build Linux Ubuntu'
pool: pool:
name: Azure-MessagingStore-LinuxBuildMachinePool name: Azure-MsgStore-Linux2204BuildMachinePool
demands: demands:
- linux - linux

Просмотреть файл

@ -33,13 +33,14 @@
<linux_sys_timer> <linux_sys_timer>
Memcheck:Leak Memcheck:Leak
match-leak-kinds: possible match-leak-kinds: possible
...
fun:calloc fun:calloc
fun:allocate_dtv fun:allocate_dtv
fun:_dl_allocate_tls fun:_dl_allocate_tls
fun:allocate_stack fun:allocate_stack
fun:pthread_create@@GLIBC_2.2.5 fun:pthread_create@@GLIBC_*
fun:__start_helper_thread ...
fun:__pthread_once_slow fun:__pthread_once_slow
fun:timer_create@@GLIBC_2.3.3 fun:timer_create@@GLIBC_*
... ...
} }

2
deps/c-testrunnerswitcher поставляемый

@ -1 +1 @@
Subproject commit 05542fd1b9723e579f04f9d98613c409f0974c2b Subproject commit 416b92461856c0876fb7f7aeb5837729fefbe71a

2
deps/umock-c поставляемый

@ -1 +1 @@
Subproject commit 01600750cdbfba8a01c923c62cb8b48de1cf6543 Subproject commit f75063d969c0d5be403133970000158ffb3a1131

Просмотреть файл

@ -111,11 +111,7 @@ static void on_timer_callback(sigval_t timer_data)
static void internal_close(THREADPOOL* threadpool) static void internal_close(THREADPOOL* threadpool)
{ {
/* Codes_SRS_THREADPOOL_LINUX_07_026: [ Otherwise, threadpool_close shall call sm_close_begin. ]*/ /* Codes_SRS_THREADPOOL_LINUX_07_026: [ Otherwise, threadpool_close shall call sm_close_begin. ]*/
if(sm_close_begin(threadpool->sm) != SM_EXEC_GRANTED) if(sm_close_begin(threadpool->sm) == SM_EXEC_GRANTED)
{
LogError("sm_close_begin failed.");
}
else
{ {
/* Codes_SRS_THREADPOOL_LINUX_07_089: [ threadpool_close shall signal all threads threadpool is closing by calling InterlockedHL_SetAndWakeAll. ]*/ /* Codes_SRS_THREADPOOL_LINUX_07_089: [ threadpool_close shall signal all threads threadpool is closing by calling InterlockedHL_SetAndWakeAll. ]*/
(void)InterlockedHL_SetAndWakeAll(&threadpool->state, 1); (void)InterlockedHL_SetAndWakeAll(&threadpool->state, 1);

Просмотреть файл

@ -40,6 +40,8 @@ typedef struct WRAP_DATA_TAG
char mem[10]; char mem[10];
} WRAP_DATA; } WRAP_DATA;
#define TEST_TIMEOUT_VALUE 60000 // 60 seconds
TEST_DEFINE_ENUM_TYPE(INTERLOCKED_HL_RESULT, INTERLOCKED_HL_RESULT_VALUES); TEST_DEFINE_ENUM_TYPE(INTERLOCKED_HL_RESULT, INTERLOCKED_HL_RESULT_VALUES);
BEGIN_TEST_SUITE(TEST_SUITE_NAME_FROM_CMAKE) BEGIN_TEST_SUITE(TEST_SUITE_NAME_FROM_CMAKE)
@ -192,13 +194,14 @@ TEST_FUNCTION(MU_C3(scheduling_, N_WORK_ITEMS, _work_items))
ASSERT_ARE_EQUAL(int, 0, threadpool_schedule_work(threadpool, threadpool_task_wait_60_millisec, (void*)&thread_counter)); ASSERT_ARE_EQUAL(int, 0, threadpool_schedule_work(threadpool, threadpool_task_wait_60_millisec, (void*)&thread_counter));
} }
LogInfo("Scheduled threads waiting for threads to complete");
// assert // assert
do do
{ {
wait_on_address(&thread_counter, 1, UINT32_MAX); wait_on_address(&thread_counter, 1, TEST_TIMEOUT_VALUE);
} while (thread_counter != num_threads); } while (thread_counter != num_threads);
//ThreadAPI_Sleep(120*1000);
ASSERT_ARE_EQUAL(int32_t, thread_counter, num_threads, "Thread counter has timed out"); ASSERT_ARE_EQUAL(int32_t, thread_counter, num_threads, "Thread counter has timed out");
// cleanup // cleanup