[webkit-dev] Encoding and decoding ProcessID

Sam Weinig weinig at apple.com
Sun Feb 24 10:52:53 PST 2019


Hi Adrien,

Would you mind adding the compiler output when this happens? I’d like to see exactly what the error you are seeing is.

- Sam  

> On Feb 24, 2019, at 9:54 AM, Adrien Destugues <pulkomandy at pulkomandy.tk> wrote:
> 
> Hi there,
> 
> We are finally starting to look into moving the Haiku port to WebKit2.
> 
> We have hit one little problem I'm not sure how to solve. Our pid_t on
> 32bit Haiku is declared as a signed long integer (this is for legacy
> reasons and not something we can fix easily). Our uint32_t is a signed
> integer (not long). This creates a compilation error when using pid_t
> with IPC::Encoder, because none of the encode() functions match when
> trying to pass a pid_t in our case.
> 
> Our options seems to be:
> - Cast pid_t to int32_t when encoding it. I fear this would break other
>  platforms if they decide to use a 64bit pid_t, for example
> - Add an encode(pid_t) to the IPC::Encoder. I fear on other platforms it
>  would complain that this is the same as encode(int32_t) and break the
>  build
> - Define WTF::ProcessID as int32_t instead of pid_t, which I think could
>  work, afte rfixing some compiler warnings (we will need to cast back
>  to pid_t when passing it to OS functions, I think)
> 
> What do you think about it?
> 
> one example where encoding a pid is
> Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp
> 
> -- 
> Adrien.
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev



More information about the webkit-dev mailing list