[#41908] [Backport93 - Backport #5844][Open] Can't install ruby-debug-base19 — Brian Osborne <bosborne11@...>
[#41916] Proposal: Bitmap Marking GC — Narihiro Nakamura <authornari@...>
Hi.
> And, GC is a little bit slower. But, I think it's in acceptable range.
Narihiro Nakamura <authornari@gmail.com> wrote:
> Narihiro Nakamura <authornari@gmail.com> wrote:
[#41934] feature request: marshallable proc's — Roger Pack <rogerdpack2@...>
Every so often I wish I could do something like
On 2012年01月06日 08:54, Roger Pack wrote:
What should happen on the following code?
[#41979] [ruby-trunk - Bug #5865][Open] Exception#== should return false if the classes differ — Hiro Asari <asari.ruby@...>
Hi,
On Mon, Jan 9, 2012 at 12:43, Yukihiro Matsumoto <matz@ruby-lang.org> wrote=
[#42003] [ruby-trunk - Bug #5871][Open] regexp \W matches some word characters when inside a case-insensitive character class — Gareth Adams <gareth@...>
[#42016] [ruby-trunk - Feature #5873][Open] Adopt FFI over DL — Heesob Park <phasis@...>
On Tue, Jan 10, 2012 at 10:01:26PM +0900, Heesob Park wrote:
Hi,
> To remove original DL completely, we have to bundle libffi itself
[#42042] RUBY 2 RCR: remove Thread#raise — Roger Pack <rogerdpack2@...>
Hello.
Roger Pack <rogerdpack2@gmail.com> wrote:
[#42049] [ruby-trunk - Bug #5877][Open] Poor performance of initial and final UTF-8 substrings — Nathan Weizenbaum <nex342@...>
[#42063] [ruby-trunk - Bug #5884][Open] Float::NAN and 0.0/0.0 is represented differently when packed with 'g' — Hiro Asari <asari.ruby@...>
[#42080] [ruby-trunk - Bug #5887][Open] The documentation of Module.constants is incorrect — Shugo Maeda <redmine@...>
[#42085] [ruby-trunk - Bug #5888][Open] JSON unittest fails — Vit Ondruch <v.ondruch@...>
[#42093] Backport93 help needed for a few Windows requests? — Jon <jon.forums@...>
Currently the following Windows-specific backport requests to ruby_1_9_3 remain unassigned:
[#42113] [ruby-trunk - Feature #5893][Open] named return,next... — Ondrej Bilka <neleai@...>
On Fri, Jan 13, 2012 at 7:21 PM, Ondrej Bilka <neleai@seznam.cz> wrote:
On Fri, Jan 13, 2012 at 11:11:28PM +0900, Anurag Priyam wrote:
[#42139] [ruby-trunk - Feature #5898][Open] raise and Exception#initialize — Thomas Sawyer <transfire@...>
[#42149] [ruby-trunk - Feature #5899][Open] chaining comparsions. — Ondrej Bilka <neleai@...>
[#42160] [ruby-trunk - Bug #5902][Open] Array#join with an unused, infected separator may or may not infect the result — John Firebaugh <john.firebaugh@...>
[#42164] [ruby-trunk - Feature #5903][Open] Optimize st_table (take 2) — Yura Sokolov <funny.falcon@...>
[#42189] [ruby-trunk - Bug #5914][Open] Calling extend with an anonymous module requires use of parentheses — Mark Somerville <mark@...>
[#42194] [ruby-trunk - Bug #5915][Open] Array#join with explicit nil should not use $, — John Firebaugh <john.firebaugh@...>
[#42222] [ruby-trunk - Bug #5925][Open] Lazy initialization is not thread safe. — Xuân Baldauf <xuan--2009--xbaldauf--redmine.ruby-lang.org@...>
[#42235] [ruby-trunk - Bug #5931][Open] Random SEGV during execution on YARD specs — Vit Ondruch <v.ondruch@...>
[#42246] Fwd: RCR String#{last, first} — Roger Pack <rogerdpack2@...>
Hello.
[#42256] [ruby-trunk - Feature #5945][Open] Add the ability to mark a at_exit as process-local. — Robert Gleeson <rob@...>
[#42257] [Backport93 - Backport #5942][Open] Backport r34309-34310 r34312-32414 — Yura Sokolov <funny.falcon@...>
[#42285] Why Ruby 1.9 GUI hangs if i do any intensive computation in separate Ruby thread? — Grigory Petrov <grigory.v.p@...>
Hello
the GIL is *not* supposed to lift if some threads enters native code...
[ruby-core:41895] [ruby-trunk - Bug #5833] [mingw] trivial patch for thread.c build warning
Issue #5833 has been updated by Jon Forums.
Redmine appears to have chopped off your feedback and questions...inserting your questions and my answers.
> I think rb_fd_max() should return int. Is there any possibility that
> fdset->fd_count overflow signed int?
In real-world usage, I don't know with 100% certainty.
But since the following returns a `u_int` on Windows
https://github.com/ruby/ruby/blob/trunk/include/ruby/intern.h#L298
and this returns `FD_SETSIZE` (usually #defined)
https://github.com/ruby/ruby/blob/trunk/include/ruby/intern.h#L314
overflow of signed int _might_ be a possibility.
Why do you think `rb_fd_max` should return `int` rather than `unsigned int`? Is it because of this:
https://github.com/ruby/ruby/blob/trunk/include/ruby/intern.h#L260
Do you think there is a possibility of returning a negative int (maybe an extension?) in a *valid* real-world scenario?
> Moreover Windows fd_set::fd_count has u_int type if a documentation is
> correct (I saw http://msdn.microsoft.com/en-us/library/windows/desktop/ms737873(v=vs.85).aspx)
> and size_t is not an alias of u_int.
For 32bit mingw64, headers appear to have `typedef unsigned int size_t` like lines 380-388 of:
http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/tags/v2.0.1/mingw-w64-headers/crt/_mingw.h.in?revision=4710&view=markup
For 32bit mingw64, `fdset->fd_count` type is `u_int`:
http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/tags/v2.0.1/mingw-w64-headers/include/psdk_inc/_fd_types.h?revision=4710&view=markup
with `typedef unsigned int u_int` like:
http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/tags/v2.0.1/mingw-w64-headers/crt/_bsd_types.h?revision=4710&view=markup
And I see similar typedefs when searching my local mingw.org headers for `u_int` and `size_t`.
In my Windows 7 SDK I see the following in `io.h` and `crtdefs.h`:
#ifndef _SIZE_T_DEFINED
#ifdef _WIN64
typedef unsigned __int64 size_t;
#else
typedef _W64 unsigned int size_t;
#endif
#define _SIZE_T_DEFINED
#endif
in which `_W64` is defined like i:
#if !defined(_W64)
#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86))
#define _W64 __w64
#else
#define _W64
#endif
#endif
----------------------------------------
Bug #5833: [mingw] trivial patch for thread.c build warning
https://bugs.ruby-lang.org/issues/5833
Author: Jon Forums
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: 2.0.0
ruby -v: -
When building with MinGW (not Windows SDK) on Win7 I get the following:
compiling ../../../../Users/Jon/Documents/RubyDev/ruby-git/thread.c
../../../../Users/Jon/Documents/RubyDev/ruby-git/thread.c: In function 'rb_fd_rcopy':
../../../../Users/Jon/Documents/RubyDev/ruby-git/thread.c:2471:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
Below is a trivial patch that fixes the warning on MinGW. The patch successfully builds and tests with MinGW and Windows SDK on Win7 32bit. When building on Arch Linux, the patched build gives the same `make test && make test-all` results (6 errors, 45 skips) as an unpatched build. In all other uses in `thread.c` (except for `rb_fd_rcopy`) the `rb_fd_max` macro generates a `size_t` object. From what I can tell, use cases are all unsigned int's.
diff --git a/thread.c b/thread.c
index d9fe5506..0b48061 100644
--- a/thread.c
+++ b/thread.c
@@ -2463,7 +2463,7 @@ rb_fd_init_copy(rb_fdset_t *dst, rb_fdset_t *src)
static void
rb_fd_rcopy(fd_set *dst, rb_fdset_t *src)
{
- int max = rb_fd_max(src);
+ size_t max = rb_fd_max(src);
/* we assume src is the result of select() with dst, so dst should be
* larger or equal than src. */
--
http://redmine.ruby-lang.org