#include "xdbg_module.h"
#include "xdbg_module_command.h"
#include "xdbg_module_evlog.h"
+#include "xdbg_module_clist.h"
#define __USE_GNU
#include <sys/socket.h>
NewClientInfoRec *clientinfo = (NewClientInfoRec*)calldata;
ClientPtr client = clientinfo->client;
ModuleClientInfo *info = GetClientInfo (client);
+ XDbgModule *pMod = (XDbgModule *)closure;
static char* clientState[]=
{
"ClientStateInitial",
if ((client->clientState == ClientStateInitial) || (client->clientState == ClientStateGone))
{
if (client->clientState == ClientStateInitial)
+ {
_debugClientInfo (client);
+ if (pMod->trace_cnt)
+ xDbgModuleClistTraceAdd (pMod, info);
+ }
+
+ if (client->clientState == ClientStateGone)
+ {
+ if (pMod->trace_cnt)
+ xDbgModuleClistTraceRemove (pMod, info);
+ }
+
XDBG_SECURE (MXDBG, "id:%d, conn_fd:%d, pid:%d, uid:%d, name:%s (%s)\n",
info->index, info->conn_fd, info->pid, info->uid, info->command,
clientState[client->clientState]);
return FALSE;
}
+ if (pMod->trace_cnt)
+ xDbgModuleClistTraceInit (pMod);
+
ret &= AddCallback (&ClientStateCallback, _traceClientState, pMod);
if (!ret)
xDbgDBusServerRemoveMethod (&method);
+ free (pMod->trace_options);
+
xDbgDBusServerDisconnect ();
}