edit:
Seems this can be replied to if you don't have open() and fopen() in the subject
edit:
srsa from pm
I have only done little testing (without changing platform_camera.h) on one of my cameras - the movie recording lock-up is obviously gone. Since several file operations are affected, how should "real" testing look like? Could it be scripted somehow? I guess one ingredient would be a card with only a small free space left (to reliably stop the test movie recording)...
The v5 patch has a copy&paste bug in unsafe_io_warning().
I tested some on D10 and elph130. It seems to work as expected.
is_video_recording appears to work on both cameras. I tested both with and without the define.
What do we need to be sure is_video_recording works? In my testing, I added movie_status and is_video_recording result to misc OSD values, and verified that is_video_recording was only 1 when recording video and the "busy" stage after you stop recording.
As far as testing goes, I'm not sure. I think the main scenarios are
1) Semaphore or related functions are wrong: In this case, I'd expect an immediate failure. All dryos cams were already using the semaphore for the FsIoNotify crash fix.
2) Semaphore times out in normal operation, chdk fails to handle error return correctly. It would be hard to check every scenario, but realistically the most likely thing people are going to do is adjust settings in the alt menu or run a script. Since the current trunk behavior is wait forever, we should probably have noticed other situations where CHDK waits for a long time.