Hi Mark and thank you for answering . I tried the commit () as a first way out but it didn't work. More , when I stop the program, and I gracefully shutdown all the threads , so that I expect all the I/O buffers to be flushed on the disk, it doesn't work either. I even tried to change the remote folder (where the thread writes) with a local one , but it had no effect. Some told me that the difference between using _open() (or _sopen() ) and fopen() is that in the first one the data is immediately flushed (i.e. the file system doesn't use its buffer) , the other instead, the fopen(), uses OS buffers so the real flushing of the data can be delayed .... but it seems this is not totally true ....
--- In [email protected], "Energized Mark" <[EMAIL PROTECTED]> wrote: > > --- In [email protected], "spudgun0" <spudgun0@> wrote: > > > > > two , but I can't see any reason why the file isn't updated . > > The other threads may pre-empt the file I/O one, but they just manage > > network I/O so as I stop the applications that send data to the > > program they should stay idle, and then allow the file I/O thread to > > work . What is happening ? > > > > I wonder if the OS is holding the contents to write when it feals like > it. Would the _commit function help here? > > Mark... >
