From 5157624174290b3cb57f2fa272b9226633ee9d68 Mon Sep 17 00:00:00 2001 From: Adam Goode Date: Thu, 11 Apr 2024 17:48:22 -0400 Subject: [PATCH] Call FlushVol on close() This is recommended by Inside Macintosh. --- libretro/syscalls.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libretro/syscalls.c b/libretro/syscalls.c index 4cd1fc5ae6..8e55751c6b 100644 --- a/libretro/syscalls.c +++ b/libretro/syscalls.c @@ -135,8 +135,14 @@ int _open_r(struct _reent *reent, const char* name, int flags, int mode) int _close_r(struct _reent *reent, int fd) { - if(fd >= kMacRefNumOffset) - FSClose(fd - kMacRefNumOffset); + if(fd >= kMacRefNumOffset) { + short refNum = fd - kMacRefNumOffset; + short vRefNum; + OSErr err = GetVRefNum(refNum, &vRefNum); + FSClose(refNum); + if (err == noErr) + FlushVol(NULL, vRefNum); + } return 0; }