[Lldb-commits] [lldb] r278500 - Fix-up r278299 for windows

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Sat Aug 13 19:21:58 PDT 2016


Yea, seems right
On Fri, Aug 12, 2016 at 4:29 AM Pavel Labath <labath at google.com> wrote:

> Fyi. Please check if I got that right.
>
> ---------- Forwarded message ----------
> From: Pavel Labath via lldb-commits <lldb-commits at lists.llvm.org>
> Date: 12 August 2016 at 12:20
> Subject: [Lldb-commits] [lldb] r278500 - Fix-up r278299 for windows
> To: lldb-commits at lists.llvm.org
>
>
> 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
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160814/aeb01d95/attachment.html>


More information about the lldb-commits mailing list