summaryrefslogtreecommitdiffstats
path: root/libsysutils/src/NetlinkListener.cpp
diff options
context:
space:
mode:
authorMike J. Chen <mjchen@google.com>2011-06-23 14:55:28 -0700
committerMike J. Chen <mjchen@google.com>2011-06-23 18:59:45 -0700
commitec16b9d47cacb0d873ee0ff80c919f49215c0005 (patch)
tree001ba2be28407e94c0e295890764387a94404cec /libsysutils/src/NetlinkListener.cpp
parent9661a3aecd39cca95bd07253c52b99521409c147 (diff)
downloadsystem_core-ec16b9d47cacb0d873ee0ff80c919f49215c0005.zip
system_core-ec16b9d47cacb0d873ee0ff80c919f49215c0005.tar.gz
system_core-ec16b9d47cacb0d873ee0ff80c919f49215c0005.tar.bz2
Revert "Revert "Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet""
This reverts commit 1d504eeb50d980c222572629383bb76315f32ca0. Conflicts: libsysutils/src/NetlinkEvent.cpp Bring back the changes from Stan Chesnutt regarding adding NETLINK_ROUTE processing. The original commit message description was: Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet physical-layer up/down events can be tracked. Upper layers will use these events to enable/disable Ethernet connectivity. The original change was reverted due to an incompatiblity with Motorola's ril.so binary. I'll submit a patch to workaround that incompatiblity separately. Change-Id: I4e97ac98833b10543e654c63ecae3b9b8c7db44f Signed-off-by: Mike J. Chen <mjchen@google.com>
Diffstat (limited to 'libsysutils/src/NetlinkListener.cpp')
-rw-r--r--libsysutils/src/NetlinkListener.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/libsysutils/src/NetlinkListener.cpp b/libsysutils/src/NetlinkListener.cpp
index adea077..c74e952 100644
--- a/libsysutils/src/NetlinkListener.cpp
+++ b/libsysutils/src/NetlinkListener.cpp
@@ -27,8 +27,9 @@
#include <sysutils/NetlinkListener.h>
#include <sysutils/NetlinkEvent.h>
-NetlinkListener::NetlinkListener(int socket) :
+NetlinkListener::NetlinkListener(int socket, int format) :
SocketListener(socket, false) {
+ mFormat = format;
}
bool NetlinkListener::onDataAvailable(SocketClient *cli)
@@ -43,13 +44,14 @@ bool NetlinkListener::onDataAvailable(SocketClient *cli)
}
NetlinkEvent *evt = new NetlinkEvent();
- if (!evt->decode(mBuffer, count)) {
+ int err = evt->decode(mBuffer, count, mFormat);
+
+ if (!err) {
SLOGE("Error decoding NetlinkEvent");
- goto out;
+ } else {
+ onEvent(evt);
}
- onEvent(evt);
-out:
delete evt;
return true;
}