fwsGonzo / libriscv

The fastest RISC-V sandbox
BSD 3-Clause "New" or "Revised" License
526 stars 46 forks source link

HTTPS requests from RISC-V #106

Open fwsGonzo opened 7 months ago

fwsGonzo commented 7 months ago

This is the result of a stupid thought that I had, that doesn't really make sense for 1.0, but here we are.

I've been trying to make HTTPS requests with Go for a while without success. It seems to be stuck on epoll_pwait. Same with Rust reqwest and others. In Rust they seem to be using eventfd2.

Zig HTTP Client works, and we can fetch https://example.com just fine. It uses simple socket calls.

So, what is the problem? Well, it must be some kind of emulation issue with eventfd/epoll and the expectation that there is concurrency through preemption. I have tried to preempt after a timeout in epoll_pwait, but it doesn't seem to make progress.