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