You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2006/03/25 20:58:50 UTC
svn commit: r388805 - /incubator/stdcxx/trunk/src/memattr.cpp
Author: sebor
Date: Sat Mar 25 11:58:49 2006
New Revision: 388805
URL: http://svn.apache.org/viewcvs?rev=388805&view=rev
Log:
2006-03-25 Martin Sebor <se...@roguewave.com>
* memattr.cpp (__rw_memattr): Used mvalid() instead of madvise()
on Tru64 UNIX.
Removed checks for errno values EFAULT and EINVAL for portability
and simply tested for any non-zero errno value.
Modified:
incubator/stdcxx/trunk/src/memattr.cpp
Modified: incubator/stdcxx/trunk/src/memattr.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/src/memattr.cpp?rev=388805&r1=388804&r2=388805&view=diff
==============================================================================
--- incubator/stdcxx/trunk/src/memattr.cpp (original)
+++ incubator/stdcxx/trunk/src/memattr.cpp Sat Mar 25 11:58:49 2006
@@ -28,7 +28,7 @@
#define _RWSTD_LIB_SRC
-#include <errno.h> // for errno
+#include <errno.h> // for ENOMEM, errno
#include <string.h> // for memchr
#ifdef __CYGWIN__
@@ -131,6 +131,18 @@
return next == page ? -1 : DIST (next, addr);
}
+# elif defined (_RWSTD_OS_OSF1)
+
+ // use Tru64 mvalid()
+ if (-1 == mvalid (next, 1, PROT_READ)) {
+
+ const int err = errno;
+ errno = errno_save;
+
+ if (err)
+ return next == page ? -1 : DIST (next, addr);
+ }
+
# elif !defined (_RWSTD_NO_MADVISE)
// on HP-UX, Linux, use madvise() as opposed to mincore()
@@ -141,7 +153,7 @@
const int err = errno;
errno = errno_save;
- if (EFAULT == err || ENOMEM == err)
+ if (err)
return next == page ? -1 : DIST (next, addr);
}