feat:Lock the application's physical memory

dock锁定到物理内存,不要到swap分区
This commit is contained in:
fanpengcheng_cm 2020-03-14 21:26:29 +08:00
parent dd112d0912
commit ca761ec7b8
2 changed files with 25 additions and 0 deletions

20
debian/postinst vendored Normal file
View File

@ -0,0 +1,20 @@
#!/bin/sh
set -e
if [ "$1" = configure ]; then
if command -v setcap > /dev/null; then
if setcap cap_ipc_lock+eip /usr/bin/dde-dock;then
chmod u-s /usr/bin/dde-dock
else
echo "Setcap failed, falling back to setuid" >&2
chmod u+s /usr/bin/dde-dock
fi
else
echo "Setcap is not installed, falling back to setuid" >&2
chmod u+s /usr/bin/dde-dock
fi
fi
#DEBHELPER#
exit 0

View File

@ -35,6 +35,8 @@
#include <unistd.h>
#include "dbus/dbusdockadaptors.h"
#include <sys/mman.h>
DWIDGET_USE_NAMESPACE
#ifdef DCORE_NAMESPACE
DCORE_USE_NAMESPACE
@ -111,6 +113,9 @@ int main(int argc, char *argv[])
DApplication::loadDXcbPlugin();
DApplication app(argc, argv);
// 锁定物理内存,用于国测测试
qDebug() << "lock memory result:" << mlockall(MCL_CURRENT | MCL_FUTURE);
app.setOrganizationName("deepin");
app.setApplicationName("dde-dock");
app.setApplicationDisplayName("DDE Dock");