[ARM] Add restart block infrastructure
Add the necessary infrastructure to handle restartable syscalls via the restart_block method. This isn't perfect, since we are unable to modify the syscall number with ARM executables (it's typically encoded into the instruction in the text segment) so instead we build some code on the user space stack. There is a potential problem - what happens if we are sleeping, someone suspends us, resume (we continue to sleep via the restart block method) suspend and then resume again? We will build two sets of restart code on the user stack. This is probably a little inefficient, but it should be harmless.
Showing
Please register or sign in to comment