X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FIpcServer.cpp;h=93074cfc7f3f312837012346e0f4374a42956db2;hb=dfae6ea61376a60ba26244f1b5ea925fd5b584f6;hp=9f17eebdf95c856af73b7482716b5bed22d323d1;hpb=6e409e908b6692aa0611e08a244969fcbc69c110;p=platform%2Fframework%2Fnative%2Fchannel-service.git diff --git a/src/IpcServer.cpp b/src/IpcServer.cpp index 9f17eeb..93074cf 100644 --- a/src/IpcServer.cpp +++ b/src/IpcServer.cpp @@ -231,7 +231,7 @@ IpcServer::Construct(const String& name, const IIpcServerEventListener& listener SysTryCatch(NID_IO, ret == 0, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to change permission of a socket(%d, %s): %s", serverSocket, socketName.c_str(), strerror(errno)); - ret = listen(serverSocket, 15); + ret = listen(serverSocket, 128); SysTryCatch(NID_IO, ret == 0, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] Failed to listen a socket(%d, %s): %s", serverSocket, socketName.c_str(), strerror(errno)); @@ -303,6 +303,7 @@ IpcServer::OnConnectionRequest(GIOChannel* source, GIOCondition condition, gpoin _ChannelInfo* pChannelInfo = null; GSource* pGSource = null; GIOChannel* pChannel = null; + ssize_t readBytes = 0; int server = -1; int client = -1; @@ -317,7 +318,9 @@ IpcServer::OnConnectionRequest(GIOChannel* source, GIOCondition condition, gpoin client = accept(server, (struct sockaddr*) &clientAddress, &clientLen); SysTryCatch(NID_IO, client != -1, , E_SYSTEM, "[E_SYSTEM] Accept failed."); - read(client, &helloMessage, sizeof(helloMessage)); + readBytes = read(client, &helloMessage, sizeof(helloMessage)); + SysTryCatch(NID_IO, readBytes >= 0, , E_SYSTEM, "[E_SYSTEM] Failed to receive hello message (%d, %s).", + errno, strerror(errno)); pChannel = g_io_channel_unix_new(client); SysTryCatch(NID_IO, pChannel != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Not enough memory."); @@ -694,6 +697,8 @@ IpcServer::Send(IPC::Message* msg) // empty statement; } + delete msg; + return true; }