I've pushed changed version of your patches: - removed _Cancellation_beacon patches - I think it needs more investigation, I'm not saying that I'm against such a stub but I think we should try harder to understand what it does, I didn't have time to do it now, please open new MR with _Cancellation_beacon changes - correct IsSynchronouslyBlocked virtual function offset - add missing ExternalContextBase virtual functions - use Context blocking functions in reader_writer_lock to show how it should be implemented to get IsSynchronouslyBlocked working
The IsSynchronouslyBlocked function will often return wrong values now. It would be nice to rewrite other functions to use Block()/Unblock(). In order to implement timed waits separate thread/threadpool will need to be used.