Message135453
| 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? |
|