read() called twice for /proc files

From: Tim Hockin (thockin@sun.com)
Date: Mon Sep 24 2001 - 20:34:14 EST


woops! sent too early!

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().

This results in the actual read taking twice as long. Perhaps I am missing
something...

What if the proc generic stuff used file->private_data as an EOF flag. It
seems really bizarre that the read loop loops until return 0 or eof is
set. We promptly throw away the EOF information that the read() handler
set.

Would it break anything? Is there something I am not seeing in the larger
picture?

-- 
Tim Hockin
Systems Software Engineer
Sun Microsystems, Cobalt Server Appliances
thockin@sun.com
-
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