Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bc98ce7 authored by Craig Donner's avatar Craig Donner Committed by android-build-merger
Browse files

Merge "Use a separate heap size to receive buffer" into oc-dev am: ca0b8ccf

am: 9f57d3a6

Change-Id: I31f6da168347a6421d9bbb12287814dc597170f7
parents 05b3cd9a 9f57d3a6
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@
#include <private/android/AHardwareBufferHelpers.h>
#include <private/android/AHardwareBufferHelpers.h>




static constexpr int kDataBufferSize = 64 * sizeof(int);  // 64 ints
static constexpr int kFdBufferSize = 128 * sizeof(int);  // 128 ints


using namespace android;
using namespace android;


@@ -169,7 +169,7 @@ int AHardwareBuffer_sendHandleToUnixSocket(const AHardwareBuffer* buffer, int so
    iov[0].iov_base = data.get();
    iov[0].iov_base = data.get();
    iov[0].iov_len = flattenedSize;
    iov[0].iov_len = flattenedSize;


    char buf[CMSG_SPACE(kDataBufferSize)];
    char buf[CMSG_SPACE(kFdBufferSize)];
    struct msghdr msg = {
    struct msghdr msg = {
            .msg_control = buf,
            .msg_control = buf,
            .msg_controllen = sizeof(buf),
            .msg_controllen = sizeof(buf),
@@ -197,11 +197,13 @@ int AHardwareBuffer_sendHandleToUnixSocket(const AHardwareBuffer* buffer, int so
int AHardwareBuffer_recvHandleFromUnixSocket(int socketFd, AHardwareBuffer** outBuffer) {
int AHardwareBuffer_recvHandleFromUnixSocket(int socketFd, AHardwareBuffer** outBuffer) {
    if (!outBuffer) return BAD_VALUE;
    if (!outBuffer) return BAD_VALUE;


    char dataBuf[CMSG_SPACE(kDataBufferSize)];
    static constexpr int kMessageBufferSize = 4096 * sizeof(int);
    char fdBuf[CMSG_SPACE(kDataBufferSize)];

    std::unique_ptr<char[]> dataBuf(new char[kMessageBufferSize]);
    char fdBuf[CMSG_SPACE(kFdBufferSize)];
    struct iovec iov[1];
    struct iovec iov[1];
    iov[0].iov_base = dataBuf;
    iov[0].iov_base = dataBuf.get();
    iov[0].iov_len = sizeof(dataBuf);
    iov[0].iov_len = kMessageBufferSize;


    struct msghdr msg = {
    struct msghdr msg = {
            .msg_control = fdBuf,
            .msg_control = fdBuf,