diff --git a/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp b/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp index 43bae0a641fe559f119748a490977681cc3a716a..b94cfe121c0982eb56f34e726f60741ffa727b6a 100644 --- a/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp +++ b/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp @@ -60,6 +60,7 @@ napi_value DirNExporter::CloseSync(napi_env env, napi_callback_info info) return nullptr; } + lock_guard(dirEntity->lock_); dirEntity->dir_.reset(); return nullptr; } @@ -84,6 +85,7 @@ napi_value DirNExporter::Close(napi_env env, napi_callback_info info) } auto cbExec = [dirEntity](napi_env env) -> UniError { + lock_guard(dirEntity->lock_); DIR *dir = dirEntity->dir_.release(); int ret = closedir(dir); if (ret == -1) {