-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove Linux-Only Features #4046
Comments
Which part of SCION are you running on this macOS? This The router and dispatcher use |
I'm running the full stack, so sciond and dispatcher.
Sounds good to me! |
The use of the platform-dependent flag syscall.MSG_WAITFORONE prevents building the router on platforms other than Linux. This change isolates this dependency. Behavior on non-Linux platforms will be less efficient but still semantically correct because ReadBatch will only read a single message on those platforms anyway. Together with the previous PR #4499 and the dispatcher removal PR #4344 this set of changes will, e.g., enable running local development topologies on platforms other than Linux. Fixes #4046.
I'm using SCION on Darwin OSes (iOS and macOS) and dispatcher and sciond can be almost compiled straight out of the box if it weren't for one unsupported sycall flag in
underlay/conn.go
:MSG_WAITFORONE
In this case the affected code can simply be commented out because it appears to be unused anyway. But going forward I suggest removing this specific syscall flag so that dispatcher can be compiled with no modifications on macOS and other OSes that aren't Linux. Surely there must be some way to work without this flag.
Generally it should be avoided to use OS-specific features such as this
MSG_WAITFORONE
flag – I think it just unnecessarily hurts the possibilities for broader adoption.The text was updated successfully, but these errors were encountered: