From 28c12a5ec54f1ac0f7099e8764de29ba51f07ed4 Mon Sep 17 00:00:00 2001 From: Peter Atashian Date: Wed, 31 Aug 2016 11:11:54 -0400 Subject: [PATCH] Clarify UMS threads fix #32 --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e6bdd71..7e2722b 100644 --- a/README.md +++ b/README.md @@ -199,12 +199,15 @@ unacceptable. [TIB]: https://en.wikipedia.org/wiki/Win32_Thread_Information_Block [tibfail]: https://svn.boost.org/trac/boost/ticket/8544 -The only supported way to implement user-mode context switching on Windows is to use [fibers][]. +The only supported way to implement user-mode context switching on Windows is [fibers][]. There are no reasons the safe abstractions provided by libfringe could not be implemented on top of that; it is simply not yet done. This should be straightforward and an implementation is -welcome. +welcome. Note that while [UMS threads][] are capable of providing user-mode context switching, +they involve managing scheduler threads to run UMS threads on, which is incompatible with +libfringe's design. [fibers]: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682661(v=vs.85).aspx +[UMS threads]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd627187(v=vs.85).aspx ## License