文件ipc/native/src/mock/source/binder_invoker.cpp

int BinderInvoker::SendReply(MessageParcel &reply, uint32_t flags, int32_t result)
{
    int error = WriteTransaction(BC_REPLY, flags, -1, 0, reply, &result);
    if (error < ERR_NONE) {
        return error;
    }

    return WaitForCompletion();
}

如果WriteTransaction()函数返回error为false,error将会等于ERR_NONE=0, 在这个函数中将不会运行return error;而是仍然会进入WaitForCompletion();这可能会导致死循环。虽然几率很小。为什么不在这个函数中修改一下判断条件呢。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐