[#30995] [Bug #3523] win32 exception c0000029 on exit using fibers — B Kelly <redmine@...>

Bug #3523: win32 exception c0000029 on exit using fibers

19 messages 2010/07/02

[#31100] [rubysoc] Queue C-extension patch to come — Ricardo Panaggio <panaggio.ricardo@...>

Hello,

26 messages 2010/07/07
[#31148] Re: [rubysoc] Queue C-extension patch to come — Roger Pack <rogerdpack2@...> 2010/07/09

> As this it my first patch to Ruby, I don't know where to begin with.

[#31320] Re: [rubysoc] Queue C-extension patch to come — Ricardo Panaggio <panaggio.ricardo@...> 2010/07/16

Sorry for leaving this thread for so long. I've tried to finish the

[#31322] Re: [rubysoc] Queue C-extension patch to come — Aaron Patterson <aaron@...> 2010/07/16

On Sat, Jul 17, 2010 at 06:55:35AM +0900, Ricardo Panaggio wrote:

[#31324] Re: [rubysoc] Queue C-extension patch to come — Caleb Clausen <vikkous@...> 2010/07/17

NB: I am Ricardo's mentor for this project.

[#31331] Re: [rubysoc] Queue C-extension patch to come — Benoit Daloze <eregontp@...> 2010/07/17

On 17 July 2010 06:00, Caleb Clausen <vikkous@gmail.com> wrote:

[#31332] Re: [rubysoc] Queue C-extension patch to come — Caleb Clausen <vikkous@...> 2010/07/17

On 7/17/10, Benoit Daloze <eregontp@gmail.com> wrote:

[#31138] Why is there no standard way of creating a String from a char *? — Nikolai Weibull <now@...>

Hi!

14 messages 2010/07/08
[#31146] Re: Why is there no standard way of creating a String from a char *? — Urabe Shyouhei <shyouhei@...> 2010/07/09

(2010/07/09 7:04), Nikolai Weibull wrote:

[#31149] Re: Why is there no standard way of creating a String from a char *? — Nikolai Weibull <now@...> 2010/07/09

On Fri, Jul 9, 2010 at 06:20, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:

[#31150] Re: Why is there no standard way of creating a String from a char *? — Urabe Shyouhei <shyouhei@...> 2010/07/09

(2010/07/09 18:28), Nikolai Weibull wrote:

[#31217] [Bug #3562] regression in respond_to? — Aaron Patterson <redmine@...>

Bug #3562: regression in respond_to?

14 messages 2010/07/12

[#31269] [Bug #3566] memory leak when spawning+joining Threads in a loop — Eric Wong <redmine@...>

Bug #3566: memory leak when spawning+joining Threads in a loop

14 messages 2010/07/13

[#31399] [Backport #3595] Theres no encoding to differentiate a stream of Binary data from an 8-Bit ASCII string — Dreamcat Four <redmine@...>

Backport #3595: Theres no encoding to differentiate a stream of Binary data from an 8-Bit ASCII string

17 messages 2010/07/21

[#31459] [Bug #3607] [trunk/r28731] Gem.path has disappeared? — Ollivier Robert <redmine@...>

Bug #3607: [trunk/r28731] Gem.path has disappeared?

22 messages 2010/07/23

[#31519] [Bug #3622] Net::HTTP does not wait to send request body with Expect: 100-continue — Eric Hodel <redmine@...>

Bug #3622: Net::HTTP does not wait to send request body with Expect: 100-continue

9 messages 2010/07/28

[ruby-core:31358] Re: [rubysoc] Queue C-extension patch to come

From: Ricardo Panaggio <panaggio.ricardo@...>
Date: 2010-07-19 19:21:37 UTC
List: ruby-core #31358
Nobu,

There are some questions from your patch that I haven't get yet.

(Caleb shared this idea with me) Wouldn't it be good to wake up all
threads from @waiting before freeing the Queue, so that they can raise
the proper exceptions? This way, the kill could be treated more
properly.

The next two question are doubts on how ruby internals work.

I don't get how memsize works. I mean, condvar_memsize, queue_memsize
and szqueue_memsize have a lot in common. If they are correct (and I
assume they are), then I assume that thread_memsize and
thgroup_memsize might not be, as the respective structs have fields of
common types, and the _memsize's are not coherent with the structs
definition.

And I didn't get why the RBASIC from queue_initialize is there. Why
should it be treated as a generic object, rather than its original
class? It may have a purpose, I just was wondering what it was. I
couldn't manage to understand that by myself =/

And, my last question, should I implement other sync primitives with
or without the Thread namespace? I see that you've put C
implementations for Queue, SizedQueue and ConditionVariable in there,
but will the ruby implementations be kept? Will they be outside any
namespace? Should I implement new sync primitives directly in C only,
or it's good to implement them in both ruby and C? Should I keep C
implementations inside Thread and ruby implementations without a
namespace?

Sorry for being so much pedantic. I just want to be sure that I can
help more on my next patches, writing better code, that could be
reviewed more easily, and that could improve ruby better =)

Thanks for all the help!

On Sun, Jul 18, 2010 at 22:07, Ricardo Panaggio
<panaggio.ricardo@gmail.com> wrote:
> On Sun, Jul 18, 2010 at 21:08, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
>> Hi,
>>
>> At Mon, 19 Jul 2010 06:51:44 +0900,
>> Ricardo Panaggio wrote in [ruby-core:31345]:
>>> Thanks a lot for all your improvements! And now, thanks a lot for
>>> SizedQueue and ConditionVariable. It was very very helpful.
>>>
>>> I was studying your improvements to get SizedQueue and
>>> ConditionVariable better before sending any patch to the list, but I'm
>>> sure that it couldn't be better than what you've showed us now.
>>
>> It needs to restructure rb_data_type_t, as I've thought for a
>> while.
>
> I've studied the code for away and didn't get it. It seems it's ok for me.
>
>>
>> BTW, is the official name of your project which is listed in
>> <http://rubysoc.org/projects>? f so, I'll have to write a
>
> The title of my project it "Improving Ruby's Synchronization
> Primitives and Core Libraries" [1]. I have sent my abstract to RubySoC
> organization, but it seems that information have lost its way to them.
>
>> change log such as...
>>
>>  ext/thread: merged from RubySOC 2010 #17 "Coming Soon!".
>>
>
> It's not fair that that huge contribution of yours would be credited to me =/
>
>> --
>> Nobu Nakada
>>
>>
>
> [1] http://pastebin.com/viSnfqe6
>

In This Thread