From 02548d6dec03f8a3f9185b14f1c05ab19cbafc94 Mon Sep 17 00:00:00 2001 From: ax-6 Date: Wed, 31 Jul 2024 23:07:58 +0800 Subject: [PATCH] Fixed memory scoping error for Mutex in AqvmBaseFile_File. --- aqvm/base/file/file.c | 10 +++++----- aqvm/base/file/file.h | 2 +- aqvm/base/logging/logging.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/aqvm/base/file/file.c b/aqvm/base/file/file.c index 034cbd4..35f69ad 100644 --- a/aqvm/base/file/file.c +++ b/aqvm/base/file/file.c @@ -16,7 +16,7 @@ int AqvmBaseFile_LockFile(struct AqvmBaseFile_File* file) { return -1; } - int result = AqvmBaseThreadingMutex_LockMutex(file->mutex); + int result = AqvmBaseThreadingMutex_LockMutex(&file->mutex); if (result != 0) { // TODO return -2; @@ -30,7 +30,7 @@ int AqvmBaseFile_UnlockFile(struct AqvmBaseFile_File* file) { return -1; } - int result = AqvmBaseThreadingMutex_UnlockMutex(file->mutex); + int result = AqvmBaseThreadingMutex_UnlockMutex(&file->mutex); if (result != 0) { // TODO return -2; @@ -59,7 +59,7 @@ int AqvmBaseFile_fclose(struct AqvmBaseFile_File* stream) { return -2; } - if (AqvmBaseThreadingMutex_CloseMutex(stream->mutex)) { + if (AqvmBaseThreadingMutex_CloseMutex(&stream->mutex)) { // TODO return -3; } @@ -160,7 +160,7 @@ struct AqvmBaseFile_File* AqvmBaseFile_fopen(const char* filename, return NULL; } - if (AqvmBaseThreadingMutex_InitializeMutex(stream->mutex) != 0) { + if (AqvmBaseThreadingMutex_InitializeMutex(&stream->mutex) != 0) { fclose(stream->file); free(stream); return NULL; @@ -427,7 +427,7 @@ struct AqvmBaseFile_File* AqvmBaseFile_tmpfile(void) { return NULL; } - AqvmBaseThreadingMutex_InitializeMutex(stream->mutex); + AqvmBaseThreadingMutex_InitializeMutex(&stream->mutex); return stream; } diff --git a/aqvm/base/file/file.h b/aqvm/base/file/file.h index 8cfdb38..c268e3e 100644 --- a/aqvm/base/file/file.h +++ b/aqvm/base/file/file.h @@ -12,7 +12,7 @@ struct AqvmBaseFile_File { FILE* file; - AqvmBaseThreadingMutex_Mutex* mutex; + AqvmBaseThreadingMutex_Mutex mutex; }; int AqvmBaseFile_LockFile(struct AqvmBaseFile_File* file); diff --git a/aqvm/base/logging/logging.c b/aqvm/base/logging/logging.c index d02d905..66df627 100644 --- a/aqvm/base/logging/logging.c +++ b/aqvm/base/logging/logging.c @@ -89,6 +89,6 @@ int AqvmBaseLogging_OutputLogToFile(const char* format, ...) { } va_end(args); - fclose(log_ptr); + AqvmBaseFile_fclose(log_ptr); return result; } \ No newline at end of file