Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

We definitely need to avoid replaying from the start every time we want to inspect the state at some point. This is kind of an internal detail, but we can avoid having to replay parts of the recording over and over again by using fork() to create new processes at points within the recording.

Ordering constraints between different library functions do crop up from time to time. In cases like this the recorder library uses ordered locks internally (basically emulating the synchronization which the system library has to do) to ensure that the calls execute in the expected order when replaying.



Oh that's cool, using fork() to create checkpoints. Thank you again for taking the time to explain!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: