static void * socketmsg_receiving_loop(void * param) { int ret; Debug("w1(1-wire) socket receiving thread started!\n"); while(!g_socketReceivingThreadStopFlag) { ret = retrieve_socket_msg(); if (E_SOCKET_PEER_GONE == ret) { Debug("System error, socket peer is gone, application exit.\n"); exit(0); } else if (E_SOCKET_CANNOT_RECV == ret) { perror("recvmsg error..."); exit(1); } else { Debug(">>>>>>>>>> RECV: socketmsg received, which size is %d \n", ret); on_w1_netlinkmsg_received((struct cn_msg *)NLMSG_DATA(nlMsgRecv)); } } Debug("w1(1-wire) socket receiving thread stopped!\n"); sh_signal_notify(&g_socketReceivingThreadStopSignal); return 0; }
void socketmsg_receiving_loop(void * param) { int ret; printf("w1 socketmsg receiving thread started!\n"); while(!receivingThreadStopFlag) { ret = retrieve_socket_msg(&socketMsgRecv); if (E_SOCKET_PEER_GONE == ret) { printf("System error, socket peer is gone, application exit.\n"); exit(0); } else if (E_SOCKET_CANNOT_RECV == ret) { perror("recvmsg error..."); exit(1); } else { //base on the ret size... on_w1_msg_received((struct cn_msg *)NLMSG_DATA(nlhdr)); } } printf("w1 socketmsg receiving thread stopped!\n"); }