[Haifux] Implementing read() like UNIX guys like it

Eli Billauer eli at billauer.co.il
Sat Apr 23 14:14:57 MSD 2011


All three modes will be implemented anyhow. What I get from the answers 
so far is that there is no standard solution indeed, so I'll go for the 
TCP/IP-like solution by default (wait some 10 ms before returning a 
non-full read() buffer). I suppose this will do more or less what most 
people expect, without looking too bad to anyone.

I will then allow modifications with ioctl() for both low-latency mode 
(no delay at all) or wait-forever (always return a full buffer). My 
assumption is that if someone uses ioctl(), he won't blame me for doing 
what the manual says.

And again, my own experiments are worthless, because they cover the 
scenarios I can think about. I need a catch-all solution.

Thanks everyone.


emild at cs.technion.ac.il wrote:

> Hi Eli,
> Since I don't think that there is a definite answer to your dilemma, I suggest a
> common solution to it, which you might not like, but here it goes: implement all
> three behaviors and use module parameters to select and configure each mode.
> Then you can play and experiment with each of them and decide what's best. I
> understand that this might be a waste of time, but I doubt you can find a good
> answer otherwise.
>                                                          Emil  

Web: http://www.billauer.co.il

More information about the Haifux mailing list