{"push_id":1836662894,"size":1,"distinct_size":1,"ref":"refs/heads/fix/rbx_array_monitor","head":"91170aff026da3d4eb2fd81b6e16a90d53a7341b","before":"0ee64f1ac50b074f5fdd2df1b2ea10b109fe55f7","commits":[{"sha":"91170aff026da3d4eb2fd81b6e16a90d53a7341b","author":{"name":"Holger Just","email":"9cf5caf6c36f5cccde8c73fad8894c958f4983da@holgerjust.de"},"message":"Initialize the monitor for new subarrays on Rubinius\n\nRubinius uses the public methods `new_range` and `new_reserved` to\ncreate new sub-arrays in methods like `Array#slice`, `Array#[](range)`\nor similar.\n\nHere, Rubinius does not call `Array.allocate` to create the new object\nresulting in the monitor not being initialized which then causes errors\nlike\n\n    NoMethodError: undefined method `synchronize' on nil:NilClass.\n\nwhen calling any methods of the new sub-array. By overwriting the two\nmethods and explicitly initializing the monitor there, we can ensure\nthat the monitor is always initialized correctly.","distinct":true,"url":"https://api.github.com/repos/meineerde/concurrent-ruby/commits/91170aff026da3d4eb2fd81b6e16a90d53a7341b"}]}
{"actor":{"display_login":"meineerde"}}