Manish Goregaokar
Manish Goregaokar
I've sort of figured out how to make this work. FontTemplateData is placed in readonly shm-backed storage (IPCSharedMemory?). The font cache task maintains a map of FontTemplate objects, which contain...
In that case we can definitely use the first option above. I'm not sure if the second option can be implemented with a platform-agnostic API. We'd have to fix IPCSharedMemory...
@glennw Does the caching method outlined in https://github.com/servo/servo/issues/10230#issuecomment-202485769 look okay to you? Is there a better way of doing this?
> I think there are two issues to be considered here. One is the fact that we are actually sending an Arc over IPC -- this seems very, very wrong....
It just creates a new Arc. (It would be hard not to by accident, serde doesn't have access to `Arc`'s internals so all of this would require unsafe)
> Ah, interesting. Does it have special handling for Arcs, or is that what it always does with opaque types? At no point does serde just serialize by picking up...
> I for one certainly do not expect a reference to magically span process boundaries... From an abstraction point of view, I meant :smile: ipc-channel as such is an abstraction...
Right. This sounds like one way to do it, then. Does IPC-channel handle file descriptors well, or does this API need to be built into it? @glennw do you think...
I don't think it's considered urgent. I'm personally a tad annoyed that the font cache on my machine is doing multiple extra copies and File I/O, but this doesn't block...
_amazing_, thanks for working on this!