ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly
@ 2014-01-02  7:25 normalperson (Eric Wong)
  2014-01-06  6:31 ` [ruby-core:59573] [ruby-trunk - Bug #9343] " ko1 (Koichi Sasada)
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: normalperson (Eric Wong) @ 2014-01-02  7:25 UTC (permalink / raw
  To: ruby-core


Issue #9343 has been reported by normalperson (Eric Wong).

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343

Author: normalperson (Eric Wong)
Status: Open
Priority: Normal
Assignee: 
Category: ext
Target version: current: 2.2.0
ruby -v: ruby 2.2.0dev (2014-01-02 trunk 44484) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:59573] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
@ 2014-01-06  6:31 ` ko1 (Koichi Sasada)
  2014-02-05 15:10 ` [ruby-core:60510] " ko1
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: ko1 (Koichi Sasada) @ 2014-01-06  6:31 UTC (permalink / raw
  To: ruby-core


Issue #9343 has been updated by ko1 (Koichi Sasada).

Assignee set to ko1 (Koichi Sasada)


----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44108

Author: normalperson (Eric Wong)
Status: Open
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: ext
Target version: current: 2.2.0
ruby -v: ruby 2.2.0dev (2014-01-02 trunk 44484) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60510] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
  2014-01-06  6:31 ` [ruby-core:59573] [ruby-trunk - Bug #9343] " ko1 (Koichi Sasada)
@ 2014-02-05 15:10 ` ko1
  2014-02-05 17:46   ` [ruby-core:60512] " Eric Wong
  2014-02-05 17:53 ` [ruby-core:60513] " normalperson
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: ko1 @ 2014-02-05 15:10 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Koichi Sasada.


sorry for long absent.

I reviewed this patch and I have a question.
Only `diff' threads should wake-up?

Index: thread.c
===================================================================
--- thread.c	(revision 44833)
+++ thread.c	(working copy)
@@ -437,7 +437,7 @@
 	diff = max - GET_SZQUEUE_ULONGMAX(self);
     }
     RSTRUCT_SET(self, SZQUEUE_MAX, vmax);
-    while (diff > 0 && !NIL_P(t = rb_ary_shift(GET_QUEUE_QUE(self)))) {
+    while (diff-- > 0 && !NIL_P(t = rb_ary_shift(GET_SZQUEUE_WAITERS(self)))) {
 	rb_thread_wakeup_alive(t);
     }
     return vmax;



----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44975

* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: ruby 2.2.0dev (2014-01-02 trunk 44484) [x86_64-linux]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60512] Re: [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-02-05 15:10 ` [ruby-core:60510] " ko1
@ 2014-02-05 17:46   ` Eric Wong
  0 siblings, 0 replies; 11+ messages in thread
From: Eric Wong @ 2014-02-05 17:46 UTC (permalink / raw
  To: Ruby developers

ko1@atdot.net wrote:
> sorry for long absent.

No worries, I forgot about this, too :x

> I reviewed this patch and I have a question.
> Only `diff' threads should wake-up?

Yes, your patch looks correct.  Old thread.rb had "diff.times do"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60513] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
  2014-01-06  6:31 ` [ruby-core:59573] [ruby-trunk - Bug #9343] " ko1 (Koichi Sasada)
  2014-02-05 15:10 ` [ruby-core:60510] " ko1
@ 2014-02-05 17:53 ` normalperson
  2014-02-05 23:01   ` [ruby-core:60517] " SASADA Koichi
  2014-02-05 23:03 ` [ruby-core:60518] " ko1
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: normalperson @ 2014-02-05 17:53 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Eric Wong.


 ko1@atdot.net wrote:
 > sorry for long absent.
 
 No worries, I forgot about this, too :x
 
 > I reviewed this patch and I have a question.
 > Only `diff' threads should wake-up?
 
 Yes, your patch looks correct.  Old thread.rb had "diff.times do"

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44976

* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: ruby 2.2.0dev (2014-01-02 trunk 44484) [x86_64-linux]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60517] Re: [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-02-05 17:53 ` [ruby-core:60513] " normalperson
@ 2014-02-05 23:01   ` SASADA Koichi
  2014-02-05 23:39     ` [ruby-core:60519] " Eric Wong
  0 siblings, 1 reply; 11+ messages in thread
From: SASADA Koichi @ 2014-02-05 23:01 UTC (permalink / raw
  To: ruby-core

(2014/02/06 2:53), normalperson@yhbt.net wrote:
>  Yes, your patch looks correct.  Old thread.rb had "diff.times do"

All right.

Could you commit it?

-- 
// SASADA Koichi at atdot dot net

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60518] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
                   ` (2 preceding siblings ...)
  2014-02-05 17:53 ` [ruby-core:60513] " normalperson
@ 2014-02-05 23:03 ` ko1
  2014-02-05 23:44 ` [ruby-core:60520] " normalperson
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: ko1 @ 2014-02-05 23:03 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Koichi Sasada.

ruby -v changed from ruby 2.2.0dev (2014-01-02 trunk 44484) [x86_64-linux] to -

 (2014/02/06 2:53), normalperson@yhbt.net wrote:
 >  Yes, your patch looks correct.  Old thread.rb had "diff.times do"
 
 All right.
 
 Could you commit it?
 
 -- 
 // SASADA Koichi at atdot dot net

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44978

* Author: Eric Wong
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: -
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60519] Re: [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-02-05 23:01   ` [ruby-core:60517] " SASADA Koichi
@ 2014-02-05 23:39     ` Eric Wong
  0 siblings, 0 replies; 11+ messages in thread
From: Eric Wong @ 2014-02-05 23:39 UTC (permalink / raw
  To: Ruby developers

SASADA Koichi <ko1@atdot.net> wrote:
> Could you commit it?

Done, r44852.  This needs a backport to 2.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60520] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
                   ` (3 preceding siblings ...)
  2014-02-05 23:03 ` [ruby-core:60518] " ko1
@ 2014-02-05 23:44 ` normalperson
  2014-02-06  0:32 ` [ruby-core:60521] " drbrain
  2014-02-21 15:17 ` [ruby-core:60949] " naruse
  6 siblings, 0 replies; 11+ messages in thread
From: normalperson @ 2014-02-05 23:44 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Eric Wong.


 SASADA Koichi <ko1@atdot.net> wrote:
 > Could you commit it?
 
 Done, r44852.  This needs a backport to 2.1

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44980

* Author: Eric Wong
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: -
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60521] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
                   ` (4 preceding siblings ...)
  2014-02-05 23:44 ` [ruby-core:60520] " normalperson
@ 2014-02-06  0:32 ` drbrain
  2014-02-21 15:17 ` [ruby-core:60949] " naruse
  6 siblings, 0 replies; 11+ messages in thread
From: drbrain @ 2014-02-06  0:32 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Eric Hodel.

Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN to 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED

Update backport status

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-44981

* Author: Eric Wong
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: -
* Backport: 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [ruby-core:60949] [ruby-trunk - Bug #9343] [PATCH] SizedQueue#max= wakes up waiters properly
  2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
                   ` (5 preceding siblings ...)
  2014-02-06  0:32 ` [ruby-core:60521] " drbrain
@ 2014-02-21 15:17 ` naruse
  6 siblings, 0 replies; 11+ messages in thread
From: naruse @ 2014-02-21 15:17 UTC (permalink / raw
  To: ruby-core

Issue #9343 has been updated by Yui NARUSE.

Backport changed from 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED to 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: DONE

----------------------------------------
Bug #9343: [PATCH] SizedQueue#max= wakes up waiters properly
https://bugs.ruby-lang.org/issues/9343#change-45349

* Author: Eric Wong
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Category: ext
* Target version: current: 2.2.0
* ruby -v: -
* Backport: 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: DONE
----------------------------------------
We were accessing the wrong array and trying to wake up
elements stored in the queue :x

$ git pull git://80x24.org/ruby.git szqmaxset-wakeup

The following changes since commit d1cc0ebb38a23feb37bb16ff2df3137c3cead069:

  mkrunnable.rb: fix DLL path on Windows (2014-01-02 02:41:06 +0000)

are available in the git repository at:

  git://80x24.org/ruby.git szqmaxset-wakeup

for you to fetch changes up to 9932853dec14a4f62606098d452da80a54bf9ecc:

  SizedQueue#max= wakes up waiters properly (2014-01-02 07:22:02 +0000)

----------------------------------------------------------------
Eric Wong (1):
      SizedQueue#max= wakes up waiters properly

 ext/thread/thread.c       | 2 +-
 test/thread/test_queue.rb | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)


---Files--------------------------------
0001-SizedQueue-max-wakes-up-waiters-properly.patch (1.44 KB)


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-02-21 15:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-02  7:25 [ruby-core:59466] [ruby-trunk - Bug #9343][Open] [PATCH] SizedQueue#max= wakes up waiters properly normalperson (Eric Wong)
2014-01-06  6:31 ` [ruby-core:59573] [ruby-trunk - Bug #9343] " ko1 (Koichi Sasada)
2014-02-05 15:10 ` [ruby-core:60510] " ko1
2014-02-05 17:46   ` [ruby-core:60512] " Eric Wong
2014-02-05 17:53 ` [ruby-core:60513] " normalperson
2014-02-05 23:01   ` [ruby-core:60517] " SASADA Koichi
2014-02-05 23:39     ` [ruby-core:60519] " Eric Wong
2014-02-05 23:03 ` [ruby-core:60518] " ko1
2014-02-05 23:44 ` [ruby-core:60520] " normalperson
2014-02-06  0:32 ` [ruby-core:60521] " drbrain
2014-02-21 15:17 ` [ruby-core:60949] " naruse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).