# HG changeset patch # User Yoshiki Yazawa # Date 1235742581 -32400 # Node ID 011cb9337729371f1c356f9a0ac726e36d0a751f # Parent f2cce7becf52cb742bde0183c9aaf267e292d890 - avoid broken lock on exit - fixed a bug that it crashed on udp fileless broadcast diff -r f2cce7becf52 -r 011cb9337729 recpt1/recpt1.c --- a/recpt1/recpt1.c Fri Feb 27 22:17:39 2009 +0900 +++ b/recpt1/recpt1.c Fri Feb 27 22:49:41 2009 +0900 @@ -113,8 +113,10 @@ while(p_queue->num_avail == 0) { pthread_cond_timedwait(&p_queue->cond_avail, &p_queue->mutex, &spec); - if(f_exit) + if(f_exit) { + pthread_mutex_unlock(&p_queue->mutex); return; + } } p_queue->buffer[p_queue->in] = data; @@ -151,8 +153,10 @@ while(p_queue->num_used == 0) { pthread_cond_timedwait(&p_queue->cond_avail, &p_queue->mutex, &spec); - if(f_exit) + if(f_exit) { + pthread_mutex_unlock(&p_queue->mutex); return NULL; + } } /* take buffer address */ @@ -677,7 +681,7 @@ /* open output file */ char *destfile = argv[optind + 2]; - if(!strcmp("-", destfile)) { + if(destfile && !strcmp("-", destfile)) { use_stdout = TRUE; wfd = 1; /* stdout */ }