mason@utcsrgv.UUCP (Dave Mason) (12/16/83)
> According to pipe(2) 'writes with count <4097 are atomic..'...
What happens if they cross a page boundary and the new page is not currently
resident on 4.2? Will it still be atomic? Seems difficult to me unless they
specifically check & force pages resident before starting the copy.
--
-- Dave Mason, U. Toronto CSRG,
{utzoo,linus,cornell,watmath,ihnp4,allegra,floyd,decwrl,
decvax,uw-beaver,ubc-vision}!utcsrgv!mason
dmmartindale@watrose.UUCP (Dave Martindale) (12/18/83)
From: mason@utcsrgv.UUCP (Dave Mason) According to pipe(2) 'writes with count <4097 are atomic..'... What happens if they cross a page boundary and the new page is not currently resident on 4.2? Will it still be atomic? Seems difficult to me unless they specifically check & force pages resident before starting the copy. No, all that is necessary is that the inode of the pipe remain locked during the entire copying process, including any page faults that occur. If this is done, any other process which also wants to write to the pipe will simply sleep until it can manage to lock the inode for itself.