Merge "libui: flush hwbinder commands in Allocator::allocate" into oc-dev am: 06da1581fc
am: 051ca32c5e
Change-Id: I785c527a189c1d3a0727c7d8cf5eb57129a41994
diff --git a/libs/ui/Android.bp b/libs/ui/Android.bp
index fb553e2..8795322 100644
--- a/libs/ui/Android.bp
+++ b/libs/ui/Android.bp
@@ -75,6 +75,7 @@
"libhardware",
"libhidlbase",
"libhidltransport",
+ "libhwbinder",
"libsync",
"libutils",
"liblog",
diff --git a/libs/ui/Gralloc2.cpp b/libs/ui/Gralloc2.cpp
index f8d9401..87dbaf4 100644
--- a/libs/ui/Gralloc2.cpp
+++ b/libs/ui/Gralloc2.cpp
@@ -16,6 +16,7 @@
#define LOG_TAG "Gralloc2"
+#include <hwbinder/IPCThreadState.h>
#include <ui/Gralloc2.h>
#include <log/log.h>
@@ -241,6 +242,9 @@
*outStride = tmpStride;
});
+ // make sure the kernel driver sees BC_FREE_BUFFER and closes the fds now
+ hardware::IPCThreadState::self()->flushCommands();
+
return (ret.isOk()) ? error : kTransactionError;
}