Gregory,

The code which goes after sem_wait doesn't work properly if sem_wait
returns with an error code. So we need to either loop until sem_wait
returns successfully or adjust the code after sem_wait to handle
irregular cases.

Thanks
Evgueni

On 11/16/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
Yes - that's why I was poking him to see the patch.  I was going to
suggest something very similar.

geir


Gregory Shimansky wrote:
> Evgueni Brevnov wrote:
>> You can look at the change here
>> http://issues.apache.org/jira/browse/HARMONY-2203
>
> Could someone who knowns classlib native code internals better than me
> comment on this JIRA? I've added my comment from the general POV.
>
> I would change the loop to detect only signal interruption like
>
> while (sem_wait(&wakeUpASynchReporter) == -1 && errno == EINTR);
>
> Other than that I agree with the patch. I someone does not know, every
> step in gdb also interrupts sem_wait calls, so such loops are a common
> practice when using semaphores.
>
> If someone knows classlib internal logic with this asynchronous handlers
> stuff please write your opinion.
>

Reply via email to