Subversion Repositories ais_server

Rev

Rev 3 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 4
Line 303... Line 303...
303
                                        p.fd = thread->fd;
303
                                        p.fd = thread->fd;
304
                                        p.events = POLLIN;
304
                                        p.events = POLLIN;
305
                                        p.revents= 0;
305
                                        p.revents= 0;
306
                                        poll(&p,1,0);
306
                                        poll(&p,1,0);
307
// poll any input stuff and discard 
307
// poll any input stuff and discard 
308
                                        if(p.revents & (POLLHUP||POLLERR)) {
308
                                        if(p.revents & (POLLHUP|POLLERR)) {
-
 
309
                                                syslog(LOG_INFO,"HUP/Error shutdown %s\n",thread->threadname);
309
                                                close(thread->fd);
310
                                                close(thread->fd);
310
                                                thread->fd = -1;
311
                                                thread->fd = -1;
311
                                                pthread_mutex_unlock(&mutex);
312
                                                pthread_mutex_unlock(&mutex);
312
                                                return(NULL);
313
                                                return(NULL);
313
                                                }
314
                                                }
314
                                        if(p.revents & POLLIN) {
315
                                        if(p.revents & POLLIN) {
315
                                        chars=recv(thread->fd,temp_buff,1500,0);
316
                                                chars=recv(thread->fd,temp_buff,1500,MSG_DONTWAIT);
316
                                        if (chars) {
317
                                                if (chars) {
317
 
318
 
318
// dont log crap recieved
319
// dont log crap recieved
319
//                                              syslog(LOG_INFO,"read %d from %s\n",chars,thread->threadname);  
320
                                                        syslog(LOG_INFO,"read %d from %s\n",chars,thread->threadname); 
320
                                                }
321
                                                }
321
                                        else {
322
                                                else {
322
                                                close(thread->fd);
323
                                                        close(thread->fd);
323
                                                thread->fd =-1;
324
                                                        thread->fd =-1;
324
                                                pthread_mutex_unlock(&mutex);
325
                                                        pthread_mutex_unlock(&mutex);
325
                                                syslog(LOG_INFO,"Closed from %s\n",thread->threadname);
326
                                                        syslog(LOG_INFO,"Closed from %s\n",thread->threadname);
326
                                                return(NULL);
327
                                                        return(NULL);
327
                                                }
328
                                                }
328
                                        }
329
                                        }
329
                                        }
330
                                        }
330
                                }
331
                                }
331
 
332
 
Line 358... Line 359...
358
               
359
               
359
                }
360
                }
360
                if(errno!=EAGAIN && written>0)
361
                if(errno!=EAGAIN && written>0)
361
                        local_count = (local_count +1) % BUFFCNT;
362
                        local_count = (local_count +1) % BUFFCNT;
362
                }
363
                }
-
 
364
 
-
 
365
                // read any incoming data and discard
-
 
366
                //size_t readCount;
-
 
367
                //char buffer[512];
-
 
368
                //do {
-
 
369
                //      readCount = recv(thread->fd,&buffer[0],sizeof(buffer),MSG_DONTWAIT);
363
               
370
                //}
-
 
371
                //while (written != 0 && errno!=EAGAIN);
364
        }
372
        }
365
        return(NULL);
373
        return(NULL);
366
 
374
 
367
}
375
}
368
 
376