yf13 commented on PR #12435: URL: https://github.com/apache/nuttx/pull/12435#issuecomment-2259514435
> vfork() is just completely broken via system calls, no idea how it worked, even before #12435 as per my notes in issue #12635, `vfork_test()` passes for both FLAT and PROTECTED build if commit e6973c764cd531 in pull #12435 is reverted. So before pull#12717, `vfork()` was too sensitive to parent/child task scheduling order after fork, if parent reaches `waitpid` earlier, then pollution doesn't hurt at all. The syscall optimization affects the task schedule ordering thus pollution happened before parent reached `waitpid`. Later in pull#12717, the SP is restored relatively, thus pollution reduced a little. Even when child runs before parent reaches `waitpid`, it `vfork_test` can still pass. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
