From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.neuschaefer@gmx.net (Jonathan =?utf-8?Q?Neusch=C3=A4fer?=) Date: Tue, 29 Jul 2014 20:49:16 +0200 Subject: How to implement a driver's read and write operations with synchronization properly In-Reply-To: <40703.1406643881@turing-police.cc.vt.edu> References: <40703.1406643881@turing-police.cc.vt.edu> Message-ID: <20140729184915.GK3694@debian> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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