Re: read() called twice for /proc files

From: Jonathan Lundell (jlundell@pobox.com)
Date: Mon Sep 24 2001 - 21:16:36 EST


At 6:34 PM -0700 2001-09-24, Tim Hockin wrote:
>Is there a general solution to the case of read() being called minimum
>twice for a file in /proc? I have a small file in /proc, whose data takes
>a fair time to generate. My read() handler gets called once for the data,
>and once so I can return 0 to terminate read().

I'm guessing you mean that the user is calling read once (and not a
second time to get the 0/eof return), and that proc_file_read() is
calling your read_proc twice. If that's the case, you can just set
the eof flag on the first call (on which you return the data), and
you won't be called again unless the user reads again.

And of course, as David Miller suggests, you can check the offset
first, before generating data.

-- 
/Jonathan Lundell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:00:28 EST