Date: Mon, 24 Sep 2001 07:11:10 -0500 From: David Leimbach <Leimy2k@mac.com> To: freebsd-questions@FreeBSD.ORG Subject: Re: pthread_cond_signal question Message-ID: <200109241211.FAA17075@smtpout.mac.com> In-Reply-To: <200109240233.f8O2XV003913@home.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail-468036799-1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; format=flowed; charset=us-ascii On Sunday, September 23, 2001, at 09:33 PM, mcbrune wrote: > Yes, I believe you are correct. The call to pthread_cond_signal will > not unblock > a thread that is not waiting, and it does not pend the signal either. > Correct... if nothing is waiting on the signal before the signal is issued, that signal is completely discarded. That means this is NOT a FreeBSD limitation. Its just adhering to the POSIX standard. Try a semaphore instead perhaps. sem_wait, sem_post, sem_init man pages should have more info. > > Corey > > >> Hello All, >> I hope that you can help me decifer the pthread and >> pthread_cond_signal man pages. >> >> >> -The pthread man page for pthread_cond_signal says: >> int pthread_cond_signal(pthread_cond_t *cond) >> Unblock at least one of the threads blocked on the >> specified condition variable. >> >> -And the pthread_cond_signal man page says: >> DESCRIPTION >> The pthread_cond_signal() function unblocks one thread waiting >> for the condition variable cond. >> >> >> All is fine if there is at least on thread waiting on the >> condition variable. However, if there are no threads waiting, then >> the call does not unblock a thread -- this is the behavior that I want >> but it differs from the man page. Can I rely on this behavior or am I >> missing something subtle? >> >> Thanks, >> --Mat >> >> To Unsubscribe: send mail to majordomo@FreeBSD.org >> with "unsubscribe freebsd-questions" in the body of the message >> > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message --Apple-Mail-468036799-1 Content-Transfer-Encoding: 7bit Content-Type: text/enriched; charset=us-ascii On Sunday, September 23, 2001, at 09:33 PM, mcbrune wrote: <excerpt>Yes, I believe you are correct. The call to pthread_cond_signal will not unblock a thread that is not waiting, and it does not pend the signal either. </excerpt>Correct... if nothing is waiting on the signal before the signal is issued, that signal is completely discarded. That means this is NOT a FreeBSD limitation. Its just adhering to the POSIX standard. Try a semaphore instead perhaps. sem_wait, sem_post, sem_init man pages should have more info. <color><param>0000,0000,DEB7</param> </color><excerpt> Corey <excerpt>Hello All, I hope that you can help me decifer the pthread and pthread_cond_signal man pages. -The pthread man page for pthread_cond_signal says: int pthread_cond_signal(pthread_cond_t *cond) Unblock at least one of the threads blocked on the specified condition variable. -And the pthread_cond_signal man page says: DESCRIPTION The pthread_cond_signal() function unblocks one thread waiting for the condition variable cond. All is fine if there is at least on thread waiting on the condition variable. However, if there are no threads waiting, then the call does not unblock a thread -- this is the behavior that I want but it differs from the man page. Can I rely on this behavior or am I missing something subtle? Thanks, --Mat To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message </excerpt> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message </excerpt> --Apple-Mail-468036799-1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109241211.FAA17075>