Skip site navigation (1)Skip section navigation (2)
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>