Check for fd of -1 to save fsync() and fstat() call

This commit is contained in:
Andrew M. Kuchling 2008-01-10 13:37:12 +00:00
parent 3fc15b8ba4
commit 7c22ccc3dd
1 changed files with 4 additions and 2 deletions

View File

@ -1059,9 +1059,11 @@ new_mmap_object(PyObject *self, PyObject *args, PyObject *kwdict)
#ifdef HAVE_FSTAT
# ifdef __VMS
/* on OpenVMS we must ensure that all bytes are written to the file */
fsync(fd);
if (fd != -1) {
fsync(fd);
}
# endif
if (fstat(fd, &st) == 0 && S_ISREG(st.st_mode)) {
if (fd != -1 && fstat(fd, &st) == 0 && S_ISREG(st.st_mode)) {
if (map_size == 0) {
map_size = st.st_size;
} else if ((size_t)offset + (size_t)map_size > st.st_size) {