This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author neologix
Recipients nadeem.vawda, neologix, pitrou, ronaldoussoren, santoso.wijaya, sdaoden, vstinner
Date 2011-05-07.12:20:48
SpamBayes Score 0.0001457136
Marked as misclassified No
Message-id <1304770851.24.0.685842930439.issue11877@psf.upfronthosting.co.za>
In-reply-to
Content
> I'll attach 11877.4.diff

A couple comments:

static PyObject *
posix_fsync(PyObject *self, PyObject *args, PyObject *kwargs)
{
    PyObject *retval = NULL;
    auto PyObject *fdobj;
    auto int full_fsync = 1;

Why are you using the "auto" storage class specifier? I know that "explicit is better than implicit", but I really can't see a good reason for using it here (and anywhere, see http://c-faq.com/decl/auto.html).

# ifdef __APPLE__
    res = fcntl(fd, F_FULLFSYNC);
# endif
# ifdef __NetBSD__
    res = fsync_range(fd, FFILESYNC|FDISKSYNC, 0, 0);
# endif

Since __APPLE__ and __NetBSD__ are exclusive, you could use something like
# if defined(__APPLE__)
    res = fcntl(fd, F_FULLFSYNC);
# elif defined(__NetBSD__)
    res = fsync_range(fd, FFILESYNC|FDISKSYNC, 0, 0);
# endif

Do you really need to use goto for such a simple code?
History
Date User Action Args
2011-05-07 12:20:51neologixsetrecipients: + neologix, ronaldoussoren, pitrou, vstinner, nadeem.vawda, santoso.wijaya, sdaoden
2011-05-07 12:20:51neologixsetmessageid: <1304770851.24.0.685842930439.issue11877@psf.upfronthosting.co.za>
2011-05-07 12:20:49neologixlinkissue11877 messages
2011-05-07 12:20:48neologixcreate