Keywords: onyx

Next: 4.7.3 Signals Up: 4.7 Integration issues Previous: 4.7.1 Thread creation Contents Index

## 4.7.2 Restarted interrupted system calls

As mentioned above, libonyx uses thread suspension and resumption to implement garbage collection. This has the side-effect of making restarted interrupted system calls a real possibility. However, the operating system will return with a partial result if the system call was partially complete when it was interrupted. In practice, what this means is that short reads and writes are possible where they otherwise wouldn't happen, so the application should not make any assumptions about interruptible system calls always completing with a full result. See the thd class documentation for more details.