Yea, seems right On Fri, Aug 12, 2016 at 4:29 AM Pavel Labath <[email protected]> wrote:
> Fyi. Please check if I got that right. > > ---------- Forwarded message ---------- > From: Pavel Labath via lldb-commits <[email protected]> > Date: 12 August 2016 at 12:20 > Subject: [Lldb-commits] [lldb] r278500 - Fix-up r278299 for windows > To: [email protected] > > > Author: labath > Date: Fri Aug 12 06:20:21 2016 > New Revision: 278500 > > URL: http://llvm.org/viewvc/llvm-project?rev=278500&view=rev > Log: > Fix-up r278299 for windows > > FD_SETSIZE on windows limits the number of file descriptors, rather > than their individual > magnitude (the underlying implementation uses an array rather than a > bitset). This meant that the > assert in the SelectHelper was incorrect, and failing all the time. Fix > that. > > I am not sure whether this should be #ifdef MSVC, or #ifdef WINDOWS, > but my feeling is that a > more posix-conforming implementation on windows would choose the > bitset implementation, so I'm > sticking with the former. > > Modified: > lldb/trunk/source/Utility/SelectHelper.cpp > > Modified: lldb/trunk/source/Utility/SelectHelper.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Utility/SelectHelper.cpp?rev=278500&r1=278499&r2=278500&view=diff > > ============================================================================== > --- lldb/trunk/source/Utility/SelectHelper.cpp (original) > +++ lldb/trunk/source/Utility/SelectHelper.cpp Fri Aug 12 06:20:21 2016 > @@ -100,6 +100,12 @@ lldb_private::Error > SelectHelper::Select() > { > lldb_private::Error error; > +#ifdef _MSC_VER > + // On windows FD_SETSIZE limits the number of file descriptors, > not their numeric value. > + lldbassert(m_fd_map.size() <= FD_SETSIZE); > + if (m_fd_map.size() > FD_SETSIZE) > + return lldb_private::Error("Too many file descriptors for > select()"); > +#endif > > int max_read_fd = -1; > int max_write_fd = -1; > @@ -109,7 +115,7 @@ SelectHelper::Select() > { > pair.second.PrepareForSelect(); > const int fd = pair.first; > -#if !defined(__APPLE__) > +#if !defined(__APPLE__) && !defined(_MSC_VER) > lldbassert(fd < FD_SETSIZE); > if (fd >= FD_SETSIZE) > { > > > _______________________________________________ > lldb-commits mailing list > [email protected] > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits >
_______________________________________________ lldb-commits mailing list [email protected] http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
