It will return true in this case. Should it be returning false to indicate
failure?
On Tue, Oct 18, 2016 at 11:26 PM Carlo Kok <c...@remobjects.com> wrote:

> fwiw this looks good to me, a much better fix than I had. but it'z
> zturner who objected to my approach.
>
> On 2016-10-17 17:51, Rudy Pons via lldb-commits wrote:
> > Ilod created this revision.
> > Ilod added reviewers: zturner, carlokok.
> > Ilod added a subscriber: lldb-commits.
> >
> > Since r278177, the Posix functions in
> PseudoTerminal::OpenFirstAvailableMaster on windows are now inlined
> LLVM_UNREACHABLE instead of return 0.
> > This causes __assume(0) to be inlined in OpenFirstAvailableMaster,
> allowing the optimizer to change code because this function should never be
> executed. In particular, on Visual 2015 Update 3 Win32 Release builds, the
> optimizer skips the if (error_str) test, causing a crash if error_str is
> nullptr.
> > The added #if !defined(LLDB_DISABLE_POSIX) restore the previous
> behaviour (which was doing nothing and returning true, as every function
> was returning 0, and prevent crashes.
> > The crash was 100% when launching a test x86 executable (built with
> clang, linked with lld-link) in lldb.
> > I don't know if there is another fix in progress (not calling the
> function on Win32?), but it seems to be called from several places, so it
> may be simpler to fix it in PseudoTerminal.
> >
> >
> > https://reviews.llvm.org/D25681
> >
> > Files:
> >   source/Utility/PseudoTerminal.cpp
> >
> >
> > Index: source/Utility/PseudoTerminal.cpp
> > ===================================================================
> > --- source/Utility/PseudoTerminal.cpp
> > +++ source/Utility/PseudoTerminal.cpp
> > @@ -88,6 +88,7 @@
> >    if (error_str)
> >      error_str[0] = '\0';
> >
> > +#if !defined(LLDB_DISABLE_POSIX)
> >    // Open the master side of a pseudo terminal
> >    m_master_fd = ::posix_openpt(oflag);
> >    if (m_master_fd < 0) {
> > @@ -111,6 +112,7 @@
> >      CloseMasterFileDescriptor();
> >      return false;
> >    }
> > +#endif
> >
> >    return true;
> >  }
> >
> >
> >
> >
> > _______________________________________________
> > lldb-commits mailing list
> > lldb-commits@lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> >
>
> --
> Carlo Kok
> RemObjects Software
>
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to