Hi,

I am aware this is a C-programming mailing list. I just thought I
might get some useful inputs from this ML.

My problem is that I haven't figured out how I must fsync an output
stream (in C++) even after reading the contents of this link:
http://gcc.gnu.org/ml/gcc-help/2004-02/msg00285.html

How must I modify this method (this method doesn't work; it prints the
error message and exits!) ?

void logRecovery::syncToDisk(fstream& f)
{
    unix_filebuf_t* buf;
    buf = dynamic_cast<unix_filebuf_t*>(f.rdbuf());
    if (buf == NULL) {
        cerr << "Fatal: Don't know fd of stream" << endl;
        exit(-1);
    }

    fsync(buf->fd());
}

I am using GCC 3.3.4.

Thanks,

Hareesh
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" 
in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to