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

Commit ebfe3db3 authored by San Mehat's avatar San Mehat
Browse files

libsysutils: Fix some bugs in NetlinkListener and NetlinkEvent



Signed-off-by: default avatarSan Mehat <san@android.com>
parent 808c89e1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -26,7 +26,9 @@ class NetlinkListener : public SocketListener {
public:
    NetlinkListener(int socket);
    virtual ~NetlinkListener() {}

protected:
    virtual bool onDataAvailable(SocketClient *cli);
    virtual void onEvent(NetlinkEvent *evt) = 0;
};
#endif
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,9 @@ const int NetlinkEvent::NlActionChange = 3;

NetlinkEvent::NetlinkEvent() {
    mAction = NlActionUnknown;
    memset(mParams, 0, sizeof(mParams));
    mPath = NULL;
    mSubsystem = NULL;
}

NetlinkEvent::~NetlinkEvent() {
+1 −4
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ NetlinkListener::NetlinkListener(int socket) :
bool NetlinkListener::onDataAvailable(SocketClient *cli)
{
    int socket = cli->getSocket();
    LOGD("NetlinkListener::onDataAvailable()");

    int count;

    if ((count = recv(socket, mBuffer, sizeof(mBuffer), 0)) < 0) {
@@ -47,8 +45,7 @@ bool NetlinkListener::onDataAvailable(SocketClient *cli)
        goto out;
    }

    LOGD("Ignoring '%s' netlink event", evt->getSubsystem());

    onEvent(evt);
out:
    delete evt;
    return true;