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

Reply via email to