27 #include "client/linux/crash_generation/client_info.h"
28 #include "client/linux/crash_generation/crash_generation_server.h"
29 #include "servercontainer.h"
32 using google_breakpad::ClientInfo;
33 using google_breakpad::CrashGenerationServer;
37 static string dump_path =
"/opt/minidumps";
39 pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
44 static unsigned int count = 0;
46 static void OnClientDumpRequest(
void* aContext,
47 const ClientInfo* aClientInfo,
48 const string* aFilePath)
50 static const char msg[] =
"Server wrote dump for client: ";
51 write(2, msg,
sizeof(msg)-1);
52 static const char* dump_path = aFilePath->c_str();
53 write(2, dump_path, strlen(dump_path));
62 int main(
int argc,
char** argv)
64 pid_t spid = getpid();
65 printf(
"Server pid %d: starting\n", spid);
66 const int required_args = 3;
67 if (argc < required_args)
69 printf(
"usage: server: <pipe fd> <server fd>\n");
73 int pipe_fd = atoi(argv[1]);
74 int server_fd = atoi(argv[2]);
87 if (!pServer.get()->Start())
89 printf(
"Server pid %d: Failed to start CrashGenerationServer\n",
94 printf(
"Server pid %d: started server\n", spid);
98 write(pipe_fd, &
byte,
sizeof(
byte));