Loading include/sysutils/FrameworkListener.h +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ private: public: FrameworkListener(const char *socketName); FrameworkListener(const char *socketName, bool withSeq); FrameworkListener(int sock); virtual ~FrameworkListener() {} protected: Loading libsysutils/src/FrameworkListener.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ FrameworkListener::FrameworkListener(const char *socketName) : init(socketName, false); } FrameworkListener::FrameworkListener(int sock) : SocketListener(sock, true) { init(NULL, false); } void FrameworkListener::init(const char *socketName UNUSED, bool withSeq) { mCommands = new FrameworkCommandCollection(); errorRate = 0; Loading logd/CommandListener.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <sys/socket.h> #include <sys/types.h> #include <cutils/sockets.h> #include <private/android_filesystem_config.h> #include <sysutils/SocketClient.h> Loading @@ -32,7 +33,7 @@ CommandListener::CommandListener(LogBuffer *buf, LogReader * /*reader*/, LogListener * /*swl*/) : FrameworkListener("logd") : FrameworkListener(getLogSocket()) , mBuf(*buf) { // registerCmd(new ShutdownCmd(buf, writer, swl)); registerCmd(new ClearCmd(buf)); Loading Loading @@ -283,3 +284,16 @@ int CommandListener::SetPruneListCmd::runCommand(SocketClient *cli, return 0; } int CommandListener::getLogSocket() { static const char socketName[] = "logd"; int sock = android_get_control_socket(socketName); if (sock < 0) { sock = socket_local_server(socketName, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_STREAM); } return sock; } logd/CommandListener.h +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ public: virtual ~CommandListener() {} private: static int getLogSocket(); class ShutdownCmd : public LogCommand { LogBuffer &mBuf; LogReader &mReader; Loading logd/LogListener.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,15 @@ bool LogListener::onDataAvailable(SocketClient *cli) { } int LogListener::getLogSocket() { int sock = android_get_control_socket("logdw"); static const char socketName[] = "logdw"; int sock = android_get_control_socket(socketName); if (sock < 0) { sock = socket_local_server(socketName, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_DGRAM); } int on = 1; if (setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) { return -1; Loading Loading
include/sysutils/FrameworkListener.h +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ private: public: FrameworkListener(const char *socketName); FrameworkListener(const char *socketName, bool withSeq); FrameworkListener(int sock); virtual ~FrameworkListener() {} protected: Loading
libsysutils/src/FrameworkListener.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ FrameworkListener::FrameworkListener(const char *socketName) : init(socketName, false); } FrameworkListener::FrameworkListener(int sock) : SocketListener(sock, true) { init(NULL, false); } void FrameworkListener::init(const char *socketName UNUSED, bool withSeq) { mCommands = new FrameworkCommandCollection(); errorRate = 0; Loading
logd/CommandListener.cpp +15 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <sys/socket.h> #include <sys/types.h> #include <cutils/sockets.h> #include <private/android_filesystem_config.h> #include <sysutils/SocketClient.h> Loading @@ -32,7 +33,7 @@ CommandListener::CommandListener(LogBuffer *buf, LogReader * /*reader*/, LogListener * /*swl*/) : FrameworkListener("logd") : FrameworkListener(getLogSocket()) , mBuf(*buf) { // registerCmd(new ShutdownCmd(buf, writer, swl)); registerCmd(new ClearCmd(buf)); Loading Loading @@ -283,3 +284,16 @@ int CommandListener::SetPruneListCmd::runCommand(SocketClient *cli, return 0; } int CommandListener::getLogSocket() { static const char socketName[] = "logd"; int sock = android_get_control_socket(socketName); if (sock < 0) { sock = socket_local_server(socketName, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_STREAM); } return sock; }
logd/CommandListener.h +2 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ public: virtual ~CommandListener() {} private: static int getLogSocket(); class ShutdownCmd : public LogCommand { LogBuffer &mBuf; LogReader &mReader; Loading
logd/LogListener.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,15 @@ bool LogListener::onDataAvailable(SocketClient *cli) { } int LogListener::getLogSocket() { int sock = android_get_control_socket("logdw"); static const char socketName[] = "logdw"; int sock = android_get_control_socket(socketName); if (sock < 0) { sock = socket_local_server(socketName, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_DGRAM); } int on = 1; if (setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) { return -1; Loading