Commit 7b5e6713 by Ian Lance Taylor

re PR go/48019 (Need to handle EINTR in libgo testsuite)

	PR go/48019
Ignore EINTR in runtime_lock_full.

From-SVN: r170810
parent 8897c836
......@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#include <errno.h>
#include "runtime.h"
#include "go-assert.h"
......@@ -32,8 +33,12 @@ static void runtime_lock_full(Lock *l) __attribute__ ((noinline));
static void
runtime_lock_full(Lock *l)
{
if(sem_wait(&l->sem) != 0)
runtime_throw("sem_wait failed");
for(;;){
if(sem_wait(&l->sem) == 0)
return;
if(errno != EINTR)
runtime_throw("sem_wait failed");
}
}
void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment