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
[Truffle] Start to support the Rubinius FFI and POSIX calls #2811
Conversation
… ones not used, so the ordering is there.
…se it for Process.groups
# See also Dir::rmdir. | ||
def self.unlink(*paths) | ||
paths.each do |path| | ||
n = POSIX.unlink Rubinius::Type.coerce_to_path(path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can call simple POSIX functions fairly directly.
I haven't yet tried to run any of this, but my immediate concern is breaking Windows. While there's an awful lot we don't yet fully support, JRuby+Truffle is substantially usable on Windows today. I think jnr-posix will get us most of the way there and it may turn out we need to fill in some Win32 gaps there, but I wanted to raise the topic now before we get too far. I'll try running the branch in Windows tomorrow to see where we're at. |
|
||
# Load all the platform dependent types | ||
|
||
# MODIFIED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we need to diverge from Rubinius, it'd probably be best to document why.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes sorry I must have been in the middle of a thought here ands stopped mid-comment.
I commented per commit as this was easier. |
@chrisseaton I'll let you merge, in case you want to add additional commits before the merge. |
@nirvdrum we're using jnr-posix to make these calls, and there is a Windows and generic Java implementation of most of them. For example |
[Truffle] Start to support the Rubinius FFI and POSIX calls
This is the start of the work that will enable us to use the Rubinius implementation of File, IO and Socket, which are large areas of missing functionality.
@thomaswue @nirvdrum @eregon