<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby-gems/ffi.git, branch master</title>
<subtitle>github.com: ffi/ffi.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/'/>
<entry>
<title>Merge pull request #963 from ioquatix/library-path</title>
<updated>2023-05-08T11:25:45+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-08T11:25:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=73c36d77d76ef681cade4c4024abfe73af8a38b6'/>
<id>73c36d77d76ef681cade4c4024abfe73af8a38b6</id>
<content type='text'>
Add support for passing ABI version to `FFI.map_library_name`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for passing ABI version to `FFI.map_library_name`.</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'ractor'</title>
<updated>2023-05-08T11:21:33+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-08T11:21:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=c6b7139d0394638ef51b451b81dcd2ffefb94160'/>
<id>c6b7139d0394638ef51b451b81dcd2ffefb94160</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Exclude JRuby and Truffleruby at retrieval of function types</title>
<updated>2023-05-08T08:44:58+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-08T08:44:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=938b5d8590361acf871fddb9149fe725f65d781f'/>
<id>938b5d8590361acf871fddb9149fe725f65d781f</id>
<content type='text'>
..until necessary native methods are added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
..until necessary native methods are added.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Ractor compatibility to README</title>
<updated>2023-05-08T07:12:50+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-08T07:12:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=9ff5782a0129e9025aa20e334ebf1ea77288edf7'/>
<id>9ff5782a0129e9025aa20e334ebf1ea77288edf7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Register functions in Ruby code</title>
<updated>2023-05-08T06:57:10+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-08T06:57:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=b448759f390bb50eceb9b48a307efeba68c3581c'/>
<id>b448759f390bb50eceb9b48a307efeba68c3581c</id>
<content type='text'>
For consistency and to ease proting to JRuby and Truffleruby.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For consistency and to ease proting to JRuby and Truffleruby.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation to new query methods</title>
<updated>2023-05-07T19:14:36+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-07T19:14:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=b0ed4717ea08c61d8a1d0c9205cedff3e33805e3'/>
<id>b0ed4717ea08c61d8a1d0c9205cedff3e33805e3</id>
<content type='text'>
of commit e987ab50366a4b08617a20568eabdaa1fb761317
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
of commit e987ab50366a4b08617a20568eabdaa1fb761317
</pre>
</div>
</content>
</entry>
<entry>
<title>Freeze immutable objects and add explicit make_shareable to make library definitions Ractor usable</title>
<updated>2023-05-07T19:12:42+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-05T21:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=fe556f176d8239887fb583db2f3bb78f92a8cec2'/>
<id>fe556f176d8239887fb583db2f3bb78f92a8cec2</id>
<content type='text'>
Freeze objects which are immutable from the start are now freezed.
This allows these objects to be used by Ractor without make_shareable.

This partially reverts commit 4fc6a8c5ec8a9a720330946af9d1103015c62942 in such a way, that functions are stored in a module variable @ffi_functions.
Enums are implemented per FFI::Library not per attached function.
To make them shareable they would have to be copied and freezed per function.
This would increase memory footprint for the sake of Ractor support.

IMHO it's better to mark the module explicit as finished by .freeze to allow its use in a Ractor.
This also enables querying the enum definitions from a Ractor.

Using a Hash instead of per-function variables allow to use foo! and bar? methods as wished in #971.

Fixes #971
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Freeze objects which are immutable from the start are now freezed.
This allows these objects to be used by Ractor without make_shareable.

This partially reverts commit 4fc6a8c5ec8a9a720330946af9d1103015c62942 in such a way, that functions are stored in a module variable @ffi_functions.
Enums are implemented per FFI::Library not per attached function.
To make them shareable they would have to be copied and freezed per function.
This would increase memory footprint for the sake of Ractor support.

IMHO it's better to mark the module explicit as finished by .freeze to allow its use in a Ractor.
This also enables querying the enum definitions from a Ractor.

Using a Hash instead of per-function variables allow to use foo! and bar? methods as wished in #971.

Fixes #971
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1031 from larskanis/rm-structfield-get</title>
<updated>2023-05-04T17:11:07+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-04T17:11:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=c1e6a14476e210efeac79aa260c2eb2d1d98a580'/>
<id>c1e6a14476e210efeac79aa260c2eb2d1d98a580</id>
<content type='text'>
Remove no longer used StructField.get and .put</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove no longer used StructField.get and .put</pre>
</div>
</content>
</entry>
<entry>
<title>Remove no longer used StructField.get and .put</title>
<updated>2023-05-04T16:19:29+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-04T16:19:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=5ceefca1e14ffaa17dc3103ecd25160e1af189b7'/>
<id>5ceefca1e14ffaa17dc3103ecd25160e1af189b7</id>
<content type='text'>
It was introduced in commit 9d68c7f87ad7c869ee1ce3139269525af70e5df4 but moved to ruby code in commit 3f96bbb61b2f17ba9761a1d02745101a60cd26e1 .
These fields are a leftover from the commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was introduced in commit 9d68c7f87ad7c869ee1ce3139269525af70e5df4 but moved to ruby code in commit 3f96bbb61b2f17ba9761a1d02745101a60cd26e1 .
These fields are a leftover from the commit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1029 from larskanis/private-release</title>
<updated>2023-05-04T16:16:42+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2023-05-04T16:16:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/ffi.git/commit/?id=0d938c355f1737baa962fe5977e7ecb87f8b1945'/>
<id>0d938c355f1737baa962fe5977e7ecb87f8b1945</id>
<content type='text'>
Allow private release method for ManagedStruct and AutoPointer</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow private release method for ManagedStruct and AutoPointer</pre>
</div>
</content>
</entry>
</feed>
