<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/coroutine/win32, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Win32: Define COROUTINE_DECL to suppress a warning</title>
<updated>2025-01-03T04:43:33+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-01-03T02:29:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fb73be1f2a76cc7faaaab19ac7a818fd095bd725'/>
<id>fb73be1f2a76cc7faaaab19ac7a818fd095bd725</id>
<content type='text'>
In cont.c:

```
warning C4141: 'noreturn': used more than once
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In cont.c:

```
warning C4141: 'noreturn': used more than once
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Cast via `uintptr_t` function pointer between object pointer</title>
<updated>2024-10-08T14:29:49+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-10-08T06:41:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9a90cd228466ec088d6f0da8d1aa065f03daa7c8'/>
<id>9a90cd228466ec088d6f0da8d1aa065f03daa7c8</id>
<content type='text'>
- ISO C forbids conversion of function pointer to object pointer type
- ISO C forbids conversion of object pointer to function pointer type
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- ISO C forbids conversion of function pointer to object pointer type
- ISO C forbids conversion of object pointer to function pointer type
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace copy coroutine with pthread implementation.</title>
<updated>2021-06-30T23:23:03+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2021-06-25T22:17:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=42130a64f02294dc8025af3a51bda518c67ab33d'/>
<id>42130a64f02294dc8025af3a51bda518c67ab33d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added include guards to coroutine headers</title>
<updated>2021-01-22T14:21:25+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-01-22T14:21:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f1c36f2e6b0cd24dbcc9faf81a2ab88040eded2c'/>
<id>f1c36f2e6b0cd24dbcc9faf81a2ab88040eded2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove "All Rights Reserved." from Copyright statement.</title>
<updated>2019-12-27T23:45:37+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2019-12-27T23:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bf04fe086bca47184c6ab13603e064b3c0e88d8e'/>
<id>bf04fe086bca47184c6ab13603e064b3c0e88d8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove "All Rights Reserved." from Copyright statement.</title>
<updated>2019-12-27T23:41:47+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2019-12-27T23:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f96216df8dfd2d1e206150572912289f4dda7386'/>
<id>f96216df8dfd2d1e206150572912289f4dda7386</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>decouple internal.h headers</title>
<updated>2019-12-26T11:45:12+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2019-12-04T08:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5e22f873ed26092522f9bfc617d729bac88b284f'/>
<id>5e22f873ed26092522f9bfc617d729bac88b284f</id>
<content type='text'>
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead.  This would significantly
speed up incremental builds.

We take the following inclusion order in this changeset:

1.  "ruby/config.h", where _GNU_SOURCE is defined (must be the very
    first thing among everything).
2.  RUBY_EXTCONF_H if any.
3.  Standard C headers, sorted alphabetically.
4.  Other system headers, maybe guarded by #ifdef
5.  Everything else, sorted alphabetically.

Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead.  This would significantly
speed up incremental builds.

We take the following inclusion order in this changeset:

1.  "ruby/config.h", where _GNU_SOURCE is defined (must be the very
    first thing among everything).
2.  RUBY_EXTCONF_H if any.
3.  Standard C headers, sorted alphabetically.
4.  Other system headers, maybe guarded by #ifdef
5.  Everything else, sorted alphabetically.

Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix coroutine support on win32</title>
<updated>2019-11-05T06:31:21+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>kanis@comcard.de</email>
</author>
<published>2019-11-04T10:00:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=853d91a04a4d133fc90b35c90570dc1c656a7922'/>
<id>853d91a04a4d133fc90b35c90570dc1c656a7922</id>
<content type='text'>
Ruby master branch currently fails on win32 MINGW at this spec:
https://github.com/ruby/spec/blob/master/core/thread/element_set_spec.rb

MINGW makes use of setjmp3() implemented in MSVCRT.DLL.
This function traverses the SEH list up to a terminating pointer 0xFFFFFFFF.
It therefore currently segfaults on NULL.
The SEH linked list must be terminated by 0xFFFFFFFF instead of NULL.

This fixes the issue mentioned here:
  https://github.com/ruby/ruby/pull/2279#issuecomment-509508810
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ruby master branch currently fails on win32 MINGW at this spec:
https://github.com/ruby/spec/blob/master/core/thread/element_set_spec.rb

MINGW makes use of setjmp3() implemented in MSVCRT.DLL.
This function traverses the SEH list up to a terminating pointer 0xFFFFFFFF.
It therefore currently segfaults on NULL.
The SEH linked list must be terminated by 0xFFFFFFFF instead of NULL.

This fixes the issue mentioned here:
  https://github.com/ruby/ruby/pull/2279#issuecomment-509508810
</pre>
</div>
</content>
</entry>
<entry>
<title>Make fiber_pool more conservative on platforms with limited address space.</title>
<updated>2019-07-18T08:54:55+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2019-07-16T04:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=001f187ed6539f320421d8893d2f3c8f584cc3a5'/>
<id>001f187ed6539f320421d8893d2f3c8f584cc3a5</id>
<content type='text'>
We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address
space is 32-bits or less. Fiber pool implementation enables more book
keeping, and reduces upper limits, in order to minimise address space
utilisation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address
space is 32-bits or less. Fiber pool implementation enables more book
keeping, and reduces upper limits, in order to minimise address space
utilisation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add coroutine context switch for i386-mingw32</title>
<updated>2019-07-07T09:33:47+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2019-07-06T12:32:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=68e580402272cea7f98145c3c562cab565a37046'/>
<id>68e580402272cea7f98145c3c562cab565a37046</id>
<content type='text'>
It's essentially a translation of Context.asm from Intel
to AT&amp;T syntax.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's essentially a translation of Context.asm from Intel
to AT&amp;T syntax.
</pre>
</div>
</content>
</entry>
</feed>
