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..e1041c87ee5b7970d45f7c58cca07d118334c00e 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 @@ -59,7 +59,7 @@ napi_value DirNExporter::CloseSync(napi_env env, napi_callback_info info) UniError(EBADF).ThrowErr(env, "Dir has been closed yet"); return nullptr; } - + lock_guard(dirEntity->lock_); dirEntity->dir_.reset(); return nullptr; } @@ -84,6 +84,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) {