<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Ryujinx/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl, branch master</title>
<subtitle>A backup of the Ryujinx master git branch.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/'/>
<entry>
<title>Move solution and projects to src</title>
<updated>2023-04-27T21:51:14+00:00</updated>
<author>
<name>TSR Berry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2023-04-07T23:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=cee712105850ac3385cd0091a923438167433f9f'/>
<id>cee712105850ac3385cd0091a923438167433f9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Sockets: Properly convert error codes on MacOS (#4491)</title>
<updated>2023-02-28T03:41:44+00:00</updated>
<author>
<name>riperiperi</name>
<email>rhy3756547@hotmail.com</email>
</author>
<published>2023-02-28T03:41:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=9b5a0c388980b16f7adfceb1f57320087bfc6322'/>
<id>9b5a0c388980b16f7adfceb1f57320087bfc6322</id>
<content type='text'>
* Sockets: Properly convert error codes on MacOS

The error codes for MacOS are very different to how they are on windows or linux. An alternate mapping is used when the host operating system is MacOS.

This PR also defaults IsDhcpEnabled to true when interfaceProperties.DhcpServerAddresses is not available.

This change was already in `macos1`.

* Address feedback</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Sockets: Properly convert error codes on MacOS

The error codes for MacOS are very different to how they are on windows or linux. An alternate mapping is used when the host operating system is MacOS.

This PR also defaults IsDhcpEnabled to true when interfaceProperties.DhcpServerAddresses is not available.

This change was already in `macos1`.

* Address feedback</pre>
</div>
</content>
</entry>
<entry>
<title>Bsd: Implement Select (#4017)</title>
<updated>2022-12-12T13:59:31+00:00</updated>
<author>
<name>TSRBerry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2022-12-12T13:59:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=ba5c0cf5d8e4ea27fc62cd181ef65b8ff39f0fd5'/>
<id>ba5c0cf5d8e4ea27fc62cd181ef65b8ff39f0fd5</id>
<content type='text'>
* bsd: Add gdkchan's Select implementation

Co-authored-by: TSRBerry &lt;20988865+tsrberry@users.noreply.github.com&gt;

* bsd: Fix Select() causing a crash with an ArgumentException

.NET Sockets have to be used for the Select() call

* bsd: Make Select more generic

* bsd: Adjust namespaces and remove unused imports

* bsd: Fix NullReferenceException in Select

Co-authored-by: gdkchan &lt;gab.dark.100@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bsd: Add gdkchan's Select implementation

Co-authored-by: TSRBerry &lt;20988865+tsrberry@users.noreply.github.com&gt;

* bsd: Fix Select() causing a crash with an ArgumentException

.NET Sockets have to be used for the Select() call

* bsd: Make Select more generic

* bsd: Adjust namespaces and remove unused imports

* bsd: Fix NullReferenceException in Select

Co-authored-by: gdkchan &lt;gab.dark.100@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bsd: Fix eventfd broken logic (#3647)</title>
<updated>2022-11-27T20:18:05+00:00</updated>
<author>
<name>Mary-nyan</name>
<email>mary@mary.zone</email>
</author>
<published>2022-11-27T20:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=1865ea87e538047efaf36c7a707c30390d620496'/>
<id>1865ea87e538047efaf36c7a707c30390d620496</id>
<content type='text'>
* bsd: Fix eventfd broken logic

This commit fix eventfd logic being broken.

The following changes were made:
- EventFd IPC definition had argument inverted
- EventFd events weren't fired correctly
- Poll logic was wrong and unfinished for eventfd
- Reintroduce workaround from #3385 but in a safer way, and spawn 4
  threads.

* ipc: Rework a bit for multithreads

* Clean up debug logs

* Make server thread yield when managed lock isn't availaible

* Fix replyTargetHandle not being added in the proper locking scope

* Simplify some scopes

* Address gdkchan's comments

* Revert IPC workaround for now

* Reintroduce the EventFileDescriptor workaround</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bsd: Fix eventfd broken logic

This commit fix eventfd logic being broken.

The following changes were made:
- EventFd IPC definition had argument inverted
- EventFd events weren't fired correctly
- Poll logic was wrong and unfinished for eventfd
- Reintroduce workaround from #3385 but in a safer way, and spawn 4
  threads.

* ipc: Rework a bit for multithreads

* Clean up debug logs

* Make server thread yield when managed lock isn't availaible

* Fix replyTargetHandle not being added in the proper locking scope

* Simplify some scopes

* Address gdkchan's comments

* Revert IPC workaround for now

* Reintroduce the EventFileDescriptor workaround</pre>
</div>
</content>
</entry>
<entry>
<title>bsd: Check if socket is bound before calling RecvFrom() (#3761)</title>
<updated>2022-10-15T20:52:49+00:00</updated>
<author>
<name>TSRBerry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2022-10-15T20:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=e43390c7233af875133f23bfcfc6e4a211080070'/>
<id>e43390c7233af875133f23bfcfc6e4a211080070</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bsd: improve socket poll</title>
<updated>2022-09-07T20:58:41+00:00</updated>
<author>
<name>Mary</name>
<email>mary@mary.zone</email>
</author>
<published>2022-09-01T20:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=df99257d7f30f3952ca9e2a1386339777eec3327'/>
<id>df99257d7f30f3952ca9e2a1386339777eec3327</id>
<content type='text'>
We should report errors even when not requested.

This also ensure we only clear the bits that were requested on the output.

Finally, this fix when input events is 0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should report errors even when not requested.

This also ensure we only clear the bits that were requested on the output.

Finally, this fix when input events is 0.
</pre>
</div>
</content>
</entry>
<entry>
<title>bsd: implement SendMMsg and RecvMMsg (#3660)</title>
<updated>2022-09-07T20:37:15+00:00</updated>
<author>
<name>Mary-nyan</name>
<email>mary@mary.zone</email>
</author>
<published>2022-09-07T20:37:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=f3835dc78bfc845786a38c189929ac8838960018'/>
<id>f3835dc78bfc845786a38c189929ac8838960018</id>
<content type='text'>
* bsd: implement sendmmsg and recvmmsg

* Fix wrong increment of vlen</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bsd: implement sendmmsg and recvmmsg

* Fix wrong increment of vlen</pre>
</div>
</content>
</entry>
<entry>
<title>Bsd: Fix ArgumentOutOfRangeException in SetSocketOption (#3633)</title>
<updated>2022-08-28T14:24:19+00:00</updated>
<author>
<name>TSRBerry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2022-08-28T14:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=472a621589ebaccd8c5da93abce32a7f0105eaf6'/>
<id>472a621589ebaccd8c5da93abce32a7f0105eaf6</id>
<content type='text'>
* Bsd: Fix ArgumentOutOfRangeException in SetSocketOption

* Ensure option level is Socket before checking for SoLinger</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Bsd: Fix ArgumentOutOfRangeException in SetSocketOption

* Ensure option level is Socket before checking for SoLinger</pre>
</div>
</content>
</entry>
<entry>
<title>BSD: Allow use of DontWait flag in Receive (#3462)</title>
<updated>2022-07-14T09:47:25+00:00</updated>
<author>
<name>Fruityloops</name>
<email>73552844+fruityloops1@users.noreply.github.com</email>
</author>
<published>2022-07-14T09:47:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=70ec5def9cc7f02580f33dbef65815f0d7ac2229'/>
<id>70ec5def9cc7f02580f33dbef65815f0d7ac2229</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle the case where byte optionValues are sent to BSD (#3405)</title>
<updated>2022-07-11T22:50:01+00:00</updated>
<author>
<name>riperiperi</name>
<email>rhy3756547@hotmail.com</email>
</author>
<published>2022-07-11T22:50:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=b7fb474bfec178c28e37e8ccb3744a2e8a706407'/>
<id>b7fb474bfec178c28e37e8ccb3744a2e8a706407</id>
<content type='text'>
Some games and the Mario Odyssey Multiplayer mod do this.

The SMO multiplayer mod also needs you to revert #3394 as it uses a blocking socket to receive (otherwise it hangs), and it doesn't seem to like being forced as non-blocking.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some games and the Mario Odyssey Multiplayer mod do this.

The SMO multiplayer mod also needs you to revert #3394 as it uses a blocking socket to receive (otherwise it hangs), and it doesn't seem to like being forced as non-blocking.</pre>
</div>
</content>
</entry>
</feed>
