[Haifux] Implementing read() like UNIX guys like it
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.
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.
More information about the Haifux