Something semi-language-level that might help in Rust would be to make spawning a process as easy as spawning a thread. This was actually a goal of Rust from *very* early on, and it was one of the goals I had in mind with ipc-channel.
-
-
In hindsight I don’t like how ipc-channels try to abstract over multiple OSes at once, proper IPC on macOS is quite alien compared to what I can see from Windows and Linux (need to delegate all process spawning operations to launchd with fancy plists).
1 reply 0 retweets 0 likes -
Don’t browsers need to abstract over multiple OS’s at once though? :)
1 reply 0 retweets 0 likes -
Sure but our IPC on macOS makes us unable to do proper multiprocess and have niceties such as private GPU textures.
1 reply 0 retweets 0 likes -
Webkit works on multiple OSes and yet properly uses XPC services on macOS.
1 reply 0 retweets 0 likes -
OK, then maybe ipc-channel should work differently. But I strongly believe there should be a way to write IPC and have it work cross-platform.
1 reply 0 retweets 2 likes -
If you say “sorry, you have to write custom IPC for macOS because maybe you might want to share a texture” then Rust users are just not going to write multiprocess programs.
1 reply 1 retweet 1 like -
Current state is “sorry but to share textures you need to make them global so that all processes can read it”, that doesn’t sound good either.
1 reply 0 retweets 2 likes -
We shouldn’t give up on a cross-platform IPC abstraction just because of texture sharing, which is something that basically only browsers and window managers need to do anyway.
1 reply 0 retweets 1 like -
Sure, but Servo maybe shouldn't be using ipc-channel then.
2 replies 0 retweets 0 likes
I am not nearly as pessimistic as you are about the prospect of a cross-platform IPC abstraction that uses XPC services on macOS and other features on other OS’s.
-
-
That cross-platform IPC abstraction couldn't use Serde as is on macOS at the very least. Serde cannot cope with exotic things such as IOSurface values.
0 replies 0 retweets 0 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.