How to implement a driver's read and write operations with synchronization properly

Jonathan Neuschäfer j.neuschaefer at gmx.net
Tue Jul 29 14:49:16 EDT 2014


On Tue, Jul 29, 2014 at 10:24:41AM -0400, Valdis.Kletnieks at vt.edu wrote:
> On Tue, 29 Jul 2014 20:59:08 +0700, Anh Le said:
> 
> > still, user programs like bash could have a race problem by spliting
> > the input, I hope that they can somehow take care of this problem
> > themselves.
> 
> stdio is *not* always your friend.  fopen/fprintf is prone to splitting on
> bugger boundaries without your knowing about it, but most language bindings
> (including the Perl you tested with) allow you to use open/write and do the
> buffer management yourself
> 

Actually, the Perl's IO layer did pretty little to the result, because
Anh used command line substitution:

	echo $(perl -e "print 'a'x2000") > /dev/sample


Jonathan



More information about the Kernelnewbies mailing list