소스 검색

some fixes to udp layer, relates #153

Stasik0 10 년 전
부모
커밋
edc7296738
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 3
      examples/networklayer_udp.c

+ 4 - 3
examples/networklayer_udp.c

@@ -192,20 +192,21 @@ UA_Int32 NetworkLayerUDP_getWork(NetworkLayerUDP *layer, UA_WorkItem **workItems
     struct timeval tmptv = {0, timeout};
     UA_Int32 resultsize = select(layer->serversockfd+1, &layer->fdset, NULL, NULL, &tmptv);
 
-    if(resultsize < 0) {
+    if(resultsize <= 0) {
         *workItems = items;
         return itemsCount;
     }
 
-    items = realloc(items, sizeof(UA_WorkItem)*(itemsCount+resultsize));
+    items = malloc(sizeof(UA_WorkItem)*(itemsCount+resultsize));
 
 	// read from established sockets
-    UA_Int32 j = itemsCount;
+    UA_Int32 j = 0;
 	UA_ByteString buf = { -1, NULL};
 		if(!buf.data) {
 			buf.data = malloc(sizeof(UA_Byte) * layer->conf.recvBufferSize);
 			if(!buf.data){
 				//TODO:
+				printf("malloc failed");
 			}
 		}