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 |