diff options
Diffstat (limited to 'src/tools/qstring.cpp')
-rw-r--r-- | src/tools/qstring.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 927669c61..67de50301 100644 --- a/src/tools/qstring.cpp +++ b/src/tools/qstring.cpp @@ -1075,9 +1075,11 @@ TQStringData::~TQStringData() { 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* TQString::ascii() const void TQString::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; } } |