>   Yuya, it had passed tests for me with cbor, so is that a portability issue?

I don't think it's a portability issue. `cbor.load(StringIO(''))` doesn't
raise EOFError.

>   One of the benefits of pickle/marshal is that we don't lose information,
> like when tuples become lists. That would be an insidious problem for callers.

Good point.

>   Also, in case it wasn't obvious, we'll need another patch to add some
> handling of len(dumps(result)) > PIPE_BUF (which was an existing issue).

Yup. A payload was much smaller than PIPE_BUF, but that's no longer true.

The most straightforward fix will be to create pipe per worker and select()
them. I don't know if there's a simpler mechanism. DGRAM socket can ensure
message boundaries, but it's still has a size limit.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to