From 5be4c19d7b91085f195b6429594b1db758cc60f6 Mon Sep 17 00:00:00 2001 From: Houjun Tang Date: Sun, 26 Jan 2025 16:33:24 -0800 Subject: [PATCH] Fix a thread race issue that may cause memory error when larger than cache max size data is transferred --- src/server/pdc_server_region/pdc_server_region_cache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/pdc_server_region/pdc_server_region_cache.c b/src/server/pdc_server_region/pdc_server_region_cache.c index c150076e..c61869d2 100644 --- a/src/server/pdc_server_region/pdc_server_region_cache.c +++ b/src/server/pdc_server_region/pdc_server_region_cache.c @@ -967,8 +967,9 @@ PDC_region_cache_clock_cycle(void *ptr) } } else { + pthread_mutex_lock(&pdc_obj_cache_list_mutex); obj_cache_iter = obj_cache_iter->next; - /* pthread_mutex_unlock(&pdc_obj_cache_list_mutex); */ + pthread_mutex_unlock(&pdc_obj_cache_list_mutex); /* PDC_get_time_str(cur_time); */ /* fprintf(stderr, "%s ==PDC_SERVER[%d]: stop flush to allow processing new RPCs\n", */