gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r2253 - GNUnet/src/applications/chat


From: grothoff
Subject: [GNUnet-SVN] r2253 - GNUnet/src/applications/chat
Date: Mon, 14 Nov 2005 02:30:51 -0800 (PST)

Author: grothoff
Date: 2005-11-14 02:30:50 -0800 (Mon, 14 Nov 2005)
New Revision: 2253

Modified:
   GNUnet/src/applications/chat/chat.c
   GNUnet/src/applications/chat/gnunet-chat.c
Log:
fixing bug 951

Modified: GNUnet/src/applications/chat/chat.c
===================================================================
--- GNUnet/src/applications/chat/chat.c 2005-11-14 10:22:45 UTC (rev 2252)
+++ GNUnet/src/applications/chat/chat.c 2005-11-14 10:30:50 UTC (rev 2253)
@@ -121,8 +121,8 @@
   return OK;
 }
 
-static void csHandleChatRequest(ClientHandle client,
-                               const CS_MESSAGE_HEADER * message) {
+static int csHandleChatRequest(ClientHandle client,
+                              const CS_MESSAGE_HEADER * message) {
   int i;
   int j;
   CS_chat_MESSAGE * cmsg;
@@ -132,7 +132,7 @@
   if (ntohs(message->size) != sizeof(CS_chat_MESSAGE)) {
     LOG(LOG_WARNING,
        _("Message received from client is invalid\n"));
-    return; /* invalid message */
+    return SYSERR; /* invalid message */
   }
   pmsg = (P2P_chat_MESSAGE*)message;
   cmsg = (CS_chat_MESSAGE*) message;
@@ -165,6 +165,7 @@
   pmsg->header.type = htons(P2P_PROTO_chat_MSG);
   broadcastToConnected(&pmsg->header, 5, 1);
   MUTEX_UNLOCK(&chatMutex);
+  return OK;
 }
 
 static void chatClientExitHandler(ClientHandle client) {
@@ -204,7 +205,7 @@
   if (SYSERR == capi->registerClientExitHandler(&chatClientExitHandler))
     ok = SYSERR;
   if (SYSERR == capi->registerClientHandler(CS_PROTO_chat_MSG,
-                                           (CSHandler)&csHandleChatRequest))
+                                           &csHandleChatRequest))
     ok = SYSERR;
   setConfigurationString("ABOUT",
                         "chat",
@@ -217,7 +218,7 @@
                           &handleChatMSG);
   coreAPI->unregisterClientExitHandler(&chatClientExitHandler);
   coreAPI->unregisterClientHandler(CS_PROTO_chat_MSG,
-                                  (CSHandler)&csHandleChatRequest);
+                                  &csHandleChatRequest);
   MUTEX_DESTROY(&chatMutex);
   coreAPI = NULL;
 }

Modified: GNUnet/src/applications/chat/gnunet-chat.c
===================================================================
--- GNUnet/src/applications/chat/gnunet-chat.c  2005-11-14 10:22:45 UTC (rev 
2252)
+++ GNUnet/src/applications/chat/gnunet-chat.c  2005-11-14 10:30:50 UTC (rev 
2253)
@@ -97,7 +97,8 @@
   return OK;
 }
 
-static void * receiveThread(GNUNET_TCP_SOCKET * sock) {
+static void * receiveThread(void * arg) {
+  GNUNET_TCP_SOCKET * sock = arg;
   CS_chat_MESSAGE * buffer;
 
   buffer = MALLOC(MAX_BUFFER_SIZE);
@@ -126,6 +127,7 @@
   }
   FREE(buffer);
   SEMAPHORE_UP(doneSem);
+  printf("CHAT receive loop ends!\n");
   return NULL;
 }
 
@@ -154,10 +156,11 @@
            "-n");
 
   doneSem = SEMAPHORE_NEW(0);
-  PTHREAD_CREATE(&messageReceiveThread,
-                (PThreadMain) &receiveThread,
-                sock,
-                128 * 1024);
+  if (0 != PTHREAD_CREATE(&messageReceiveThread,
+                         &receiveThread,
+                         sock,
+                         128 * 1024))
+    DIE_STRERROR("pthread_create");
 
   memset(&msg,
         0,





reply via email to

[Prev in Thread] Current Thread [Next in Thread]