On 04/10/2013 02:11 PM, David Henningsson wrote:
On 04/10/2013 02:07 PM, Tanu Kaskinen wrote:
On Wed, 2013-04-10 at 08:50 +0200, David Henningsson wrote:
On 04/08/2013 06:27 PM, Tanu Kaskinen wrote:
On Sun, 2013-04-07 at 11:59 +0200, David Henningsson wrote:
I also have some reservations about using goto to backwards in a
complex
function. I'm not sure, however, that using a proper loop structure
would make the code any more readable. Splitting the function into
smaller functions is something to consider, but I'm not demanding that
if you don't think it's a good idea.


For the record, I've pushed the write patch to both branches now.

I'm having second thoughts about the read patch. Perhaps it's better to
introduce an extra layer of buffering instead? E g, pa_iochannel_read
would then never call pa_read with anything less than, say, 256 bytes.
(For big reads, there would still be no memory copy.)

Reading always at least 256 bytes at a time sounds like a good idea, but
I don't immediately see how it would work in practice. Just adding some
buffering in the iochannel doesn't help much. It may save a read()
syscall (if libc doesn't already do some extra buffering), but if
do_read() isn't modified in any way, the extra ppoll() call will still
be there.


Right, do_pstream_read_write would then have a
   while iochannel_is_readable()
     do_read();

...and the readable flag is not cleared as long as there is something in
the intermediate buffer.


I did an attempt to implement this yesterday, but I got confused by the with_creds thing.

I'm not very experienced with SCM_CREDENTIALS and how this "ancillary data" actually works. What will happen if we read some extra to store in the extra buffer, and some of the extra data read also has some creds attached to it? Are even the creds attached to a certain position/packet of the stream or not?

Also, I understand there is some in-kernel verification that the SCM_CREDENTIALS are correct, otherwise one could just have added the same information into the protocol directly, right...?


--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to