[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] libunwind and windows
From: |
Dave Watson |
Subject: |
Re: [Libunwind-devel] libunwind and windows |
Date: |
Tue, 15 Aug 2017 14:20:55 -0700 |
User-agent: |
Mutt/1.6.0 (2016-04-01) |
On 08/15/17 07:14 AM, Vincent Torri wrote:
> >> Running make, the first error is the ucontext.h header file which is
> >> not found. Normal.
> >>
> >> After some grep, it appears that you call only getcontext() function.
> >> On Windows, the equivalent of ucontext_t type is the CONTEXT type and
> >> getcontext() equivalent is GetThreadContext() on the current thread.
> >
> > As far as I know, we only use the ucontext_t, so that we can be
> > comatible with the system getcontext() and setcontext(), the system
> > versions aren't actually called, and most platforms implement their
> > own, see the getcontext.S, etc.
>
> is there a reason to not use the system functions ?
Usually getcontext() also saves the signal mask, which requires a
syscall, making it much slower than otherwise necessary - most uses of
libunwind don't require resetting the signal mask (at least, not to
the value where getcontext() was called for unwinding).