[#400858] Support for multiple Inheritance by classes — Ross Konsolebox <lists@...>

Will Ruby ever support multiple inheritance through classes instead of

23 messages 2012/11/03
[#400859] Re: Support for multiple Inheritance by classes — Arlen Cuss <ar@...> 2012/11/03

I think I can say "no" with a fair amount of confidence.

[#400902] Re: Support for multiple Inheritance by classes — Ross Konsolebox <lists@...> 2012/11/04

Arlen Cuss wrote in post #1082618:

[#400904] Re: Support for multiple Inheritance by classes — Peter Hickman <peterhickman386@...> 2012/11/04

Even though other languages handle multiple inheritance without any

[#400865] why does UnboundMethod need to remember the class it was retrieved from (not merely owner)? — "Mean L." <lists@...>

class Base; def foo; end end

17 messages 2012/11/03

[#400914] login web page using mechanize — john smith <lists@...>

new to ruby, love the language. read programmatic programmers guide to

25 messages 2012/11/04

[#400985] How to merge two or more hashes in to one? — "Jermaine O." <lists@...>

Hi everyone.

14 messages 2012/11/06

[#401026] Site down watir-webdriver — ajay paswan <lists@...>

Whenever a site is down it keeps on looking for it for sometime and

14 messages 2012/11/07

[#401027] Closing popups watir-webdriver — ajay paswan <lists@...>

Sometimes popup comes when a link is clicked, sometimes popup comes when

14 messages 2012/11/07

[#401125] Complete newbie — "Carlos A." <lists@...>

Hey guys!

14 messages 2012/11/10

[#401161] Convert date to string — Ferdous ara <lists@...>

Hi

12 messages 2012/11/11

[#401173] question on watir — Raj pal <lists@...>

I am automating Idit application using Ruby, at one screen I can't feed

233 messages 2012/11/12

[#401191] Extending Array instances — Charles Hixson <charleshixsn@...>

I'm trying to figure out a good way to extend an Array, when the items

17 messages 2012/11/12
[#401195] Re: Extending Array instances — Brian Candler <lists@...> 2012/11/12

Charles Hixson wrote in post #1084111:

[#401200] Efficient way for comparing records between 2 large files (16 million records) — Ruby Student <ruby.student@...>

Team,

9 messages 2012/11/12

[#401274] following along with "Beginning Ruby." — Al Baker <lists@...>

I'm having trouble following along with some of the examples in this

15 messages 2012/11/15

[#401279] Question on exceptions — Justin Gamble <lists@...>

Hello! I have a simple bank program where I have to have an exception

16 messages 2012/11/15
[#401281] Re: Question on exceptions — Justin Gamble <lists@...> 2012/11/15

What is the reason of doing the .new(...)in

[#401295] Re: Question on exceptions — Brian Candler <lists@...> 2012/11/16

Justin Gamble wrote in post #1084635:

[#401296] Re: Question on exceptions — tamouse mailing lists <tamouse.lists@...> 2012/11/16

On Fri, Nov 16, 2012 at 1:43 AM, Brian Candler <lists@ruby-forum.com> wrote:

[#401301] Alternatives to methods for large number of nested "ifs" — Philip Rhoades <phil@...>

People,

11 messages 2012/11/16

[#401336] Advice for simple client/server application — Panagiotis Atmatzidis <atma@...>

Hello,

12 messages 2012/11/17

[#401364] Metaprogramming — "Aurimas N." <lists@...>

Hello,

12 messages 2012/11/19

[#401404] "undefined method `synchronize' for #<Mutex:0xa0f5adc>" from embedded Ruby program — Graham Menhennitt <graham@...>

I'm writing a C++ program (on Centos 5 Linux) that embeds a Ruby 1.9.3

9 messages 2012/11/21

[#401422] how to increase variable inside the while loop — Ferdous ara <lists@...>

Hi, my question might be confusing as its hard for me to make it clear,

12 messages 2012/11/21

[#401451] Arrays with records as objects — Steve Tucknott <lists@...>

I am completely new to Ruby.

11 messages 2012/11/22

[#401458] working with mysql in ruby — john smith <lists@...>

i have been trying to successfully connect ruby with mysql. there are a

17 messages 2012/11/22

[#401567] click on link not working with ie #watir-webdriver — ajay paswan <lists@...>

Greetings,

12 messages 2012/11/26

[#401578] atomic statements in multithreading — ajay paswan <lists@...>

suppose I am working in multiple thread each thread runs following

10 messages 2012/11/26

[#401607] Novice: Understanding instance 'variables' and methods — Steve Tucknott <lists@...>

A question - or comment - on instance variables.

10 messages 2012/11/26

[#401644] Getting the smallest Items of an Array — "Ismail M." <lists@...>

Hello guys,

14 messages 2012/11/27

[#401655] gem problems(sigh) — Al Baker <lists@...>

i tried to make a gem and tried to build the spec file and this is what

10 messages 2012/11/28

[#401688] sorting data from a file — "Ismail M." <lists@...>

Hey guys,

16 messages 2012/11/28

[#401706] Newbie question: (free) on-line courses? — Ken D'Ambrosio <ken@...>

Hello, all. There's a bunch of free on-line training for Javascript,

11 messages 2012/11/28

Re: C Extension: Why would VALUE state appear differently during shutdown than immediately before it

From: Renee <santoshamom@...>
Date: 2012-11-24 16:14:15 UTC
List: ruby-talk #401525
I live for the day 80% of these posts don't sound like Greek to me.  

Being pretty new to all of this though I am loving the little 'peek inside'

Ok, carry on :)

Sent from my iPhone

On Nov 24, 2012, at 10:55 AM, Robert Buck <lists@ruby-forum.com> wrote:

> For the record, if anyone else tries to write a database driver, or any
> C extension that has a graph of objects that have deallocation order
> dependencies...
> 
> If you are integrating with mark and sweep, and provide free hooks for
> your objects, be aware that at shutdown Ruby drops objects from its
> object table in allocation order (table order). This means that once it
> has called your free-hooks (defined in your calls to Data_Wrap_Struct),
> afterwards ever after YOU CANNOT / MUST NOT, ***EVER*** call
> Data_Get_Struct on a VALUE that has been visited/dropped from the Ruby
> object table. Ruby will SEGV with a very hard to diagnose issue.
> 
> Your C structs should probably do something like this:
> 
> struct hierarchical_handle
> {
>    // the hook to the real C/C++ free code, never accessed
>    // directly by Ruby GC, only via ref count decr routines
>    RUBY_DATA_FUNC free_func;
> 
>    // increment this to 1 on allocation, children inc count
>    // only free-hooks decr counts; in fact, your free-hooks
>    // could simply be atomic_dec(handle*)
>    rb_atomic_t atomic;
> 
>    // used by ref counting routines to pin C/C++ objects
>    // in memory till the last one drops its reference
>    nuodb_handle * parent_handle;
> 
>    // used to pin parents in memory via rb_gc_mark
>    VALUE parent;
> };
> 
> Like me, just steal atomic.[c|h] from Ruby. But N.B. There is a major
> bug in them, somebody in the Ruby camp used the WRONG
> GCC_ATOMIC_BUILTINS !@!!
> 
> Somebody ought to fix atomic.h, its screwed up badly.
> 
> Robert Buck wrote in post #1086203:
>> I have a graph of objects in a C extension, and as such I maintain
>> reference counts from children to parents as deallocations are order
>> dependent (see struct definition below).
>> 
>> While I run my program the reference counts match up, but when the
>> program exits, when ruby dumps its entire object table calling free on
>> every VALUE the parent's free functions are called before the children
>> as the parents were allocated first and they appear in the ruby object
>> table first (this was the whole reason for adding reference counting,
>> because otherwise order dependent deallocations in C code causes a
>> SEGV).
>> 
>> Anyways, before shutdown here are my ref counts:
>> 
>> [REFERENCE COUNT][O INCR] (child @ 00007fd6d0ddd5c0): 1 (parent @
>> 00007fd6d2538460): 2
>> 
>> n.b. 2 refs
>> 
>> And after shutdown the ref counts are "magically" different:
>> 
>> [REFERENCE COUNT][I DECR] (child @ 00007fd6d2538460): 1 (parent @
>> 0000000000000000): -10
>> 
>> n.b. -10 is just a sentinel marker, ignore that
>> n.b. 1 refs though does not match 2 above
>> 
>> The latter trace is for the root object, hence no parent. But notice the
>> root object's reference count of 1. Take a look at its reference count
>> before program termination, 2.
>> 
>> This is saying that I have a case of memory corruption on my part,
>> memory corruption on ruby's part, or my understanding of how to set up
>> graphs of interrelated objects in C extensions is seriously flawed.
>> 
>> Regarding the last option, all I am doing is maintaining a struct of:
>> 
>> struct handle
>> {
>>    RUBY_DATA_FUNC free_func;
>>    rb_atomic_t atomic;
>>    VALUE parent;
>> };
>> 
>> Would someone have an idea of how to approach this, what could possibly
>> be going on? I have been at this for three days now and I don't see any
>> bug on my part.
>> 
>> Bob
> 
> -- 
> Posted via http://www.ruby-forum.com/.
> 

In This Thread