Re: sync()

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tatsuo Ishii <t-ishii@sra.co.jp>, pgsql-hackers@postgresql.org
Date: 2003-01-08T14:51:01Z
Lists: pgsql-hackers
Tom Lane wrote:
> Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> >> What we really need is something better than sync(), viz flush all dirty
> >> buffers to disk *and* wait till they're written.  But sync() and sleep
> >> for awhile is the closest portable approximation.
> 
> > Are you saying that fsync() might not wait untill the IO completes?
> 
> No, I said that sync() might not.  Read the man pages.  HPUX's man
> page for sync(2) says
> 
>      sync() causes all information in memory that should be on disk to be
>      written out.
>      ...
>      The writing, although scheduled, is not necessarily complete upon
>      return from sync.

Yep, BSD/OS says:

	BUGS
	     Sync() may return before the buffers are completely flushed.

At least they classify it as a bug.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073