Merge "sdm: Increase SurfaceFlinger fd limits"
diff --git a/sdm/libs/hwc/hwc_session.cpp b/sdm/libs/hwc/hwc_session.cpp
index cac8a8f..ff6b2a7 100644
--- a/sdm/libs/hwc/hwc_session.cpp
+++ b/sdm/libs/hwc/hwc_session.cpp
@@ -188,6 +188,13 @@
}
connected_displays_[HWC_DISPLAY_PRIMARY] = 1;
+ struct rlimit fd_limit = {};
+ getrlimit(RLIMIT_NOFILE, &fd_limit);
+ fd_limit.rlim_cur = fd_limit.rlim_cur * 2;
+ auto err = setrlimit(RLIMIT_NOFILE, &fd_limit);
+ if (err) {
+ DLOGW("Unable to increase fd limit - err: %d, %s", errno, strerror(errno));
+ }
return 0;
}
diff --git a/sdm/libs/hwc2/hwc_session.cpp b/sdm/libs/hwc2/hwc_session.cpp
index cc780d8..b497a36 100644
--- a/sdm/libs/hwc2/hwc_session.cpp
+++ b/sdm/libs/hwc2/hwc_session.cpp
@@ -134,6 +134,13 @@
return -errno;
}
+ struct rlimit fd_limit = {};
+ getrlimit(RLIMIT_NOFILE, &fd_limit);
+ fd_limit.rlim_cur = fd_limit.rlim_cur * 2;
+ auto err = setrlimit(RLIMIT_NOFILE, &fd_limit);
+ if (err) {
+ DLOGW("Unable to increase fd limit - err:%d, %s", errno, strerror(errno));
+ }
return 0;
}