summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/qstring.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp
index 210848c..1c796fe 100644
--- a/src/tools/qstring.cpp
+++ b/src/tools/qstring.cpp
@@ -1075,9 +1075,11 @@ QStringData::~QStringData() {
if ( unicode ) {
delete[] ((char*)unicode);
}
+#if defined(Q_OS_LINUX)
if ( ascii && security_unpaged ) {
munlock(ascii, LINUX_MEMLOCK_LIMIT_BYTES);
}
+#endif
if ( ascii ) {
delete[] ascii;
}
@@ -5953,15 +5955,19 @@ const char* QString::ascii() const
void QString::setSecurityUnPaged(bool lock) {
if (lock != d->security_unpaged) {
if (d->security_unpaged) {
+#if defined(Q_OS_LINUX)
if (d->ascii) {
munlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES);
}
+#endif
d->security_unpaged = false;
}
else {
+#if defined(Q_OS_LINUX)
if (d->ascii) {
mlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES);
}
+#endif
d->security_unpaged = true;
}
}