Re: GIOChannel & Intercepting stdout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 27 August 2010 09:47, Chris Vine <chris@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 26 Aug 2010 14:16:28 +0200
> Magnus Hjorth <magnus.i.hjorth@xxxxxxxxx> wrote:
>> Is the buffer really that small? I made a simple test program (below)
>> to check this out, and it seems that writes up to 64K work without
>> blocking on my Ubuntu system. Of course, it is still ugly (and
>> non-portable) to depend on this.
>
> I am extremely surprised that it is as large as 65536 in your case.
> POSIX requires PIPE_BUF to be at least 512, and on most unix-like
> systems it is 4096.

PIPE_BUF is the size of an guaranteed atomic write, not the pipe size.
 Also it is not specified that the os can't do other buffering as
well, just like it does for disk devices.  But it is also not
specified that it has to.  So knowing when you might block is *very*
system dependent.  Better not to depend on it.

Cheers
Lex

>
> It is pretty astonishing that your example does not block.
>
> Chris
>
>
> _______________________________________________
> gtk-list mailing list
> gtk-list@xxxxxxxxx
> http://mail.gnome.org/mailman/listinfo/gtk-list
>
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list


[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux