|  | Home | Libraries | People | FAQ | More | 
Boost.Fiber uses call/cc from Boost.Context as building-block.
        The implementation uses fcontext_t
        per default. fcontext_t is based on assembler and not available for all platforms.
        It provides a much better performance than ucontext_t
        (the context switch takes two magnitudes of order less CPU cycles; see section
        performance)
        and WinFiber.
      
        As an alternative, ucontext_t can be used by compiling
        with BOOST_USE_UCONTEXT and
        b2 property context-impl=ucontext.
        ucontext_t might be available
        on a broader range of POSIX-platforms but has some disadvantages
        (for instance deprecated since POSIX.1-2003, not C99 conform).
      
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| 
          call/cc
          supports Segmented stacks
          only with  | 
        With BOOST_USE_WINFIB and
        b2 property context-impl=winfib
        Win32-Fibers are used as implementation for call/cc.
      
Because the TIB (thread information block) is not fully described in the MSDN, it might be possible that not all required TIB-parts are swapped.
| ![[Note]](../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| 
          The first call of call/cc
          converts the thread into a Windows fiber by invoking  |