(lwpSelect): Use logerror() instead of lwpStatus() to report fatal
error.
This commit is contained in:
parent
7ed308526c
commit
6d4d5f7abf
1 changed files with 9 additions and 10 deletions
|
@ -44,6 +44,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include "lwp.h"
|
#include "lwp.h"
|
||||||
#include "lwpint.h"
|
#include "lwpint.h"
|
||||||
|
#include "prototypes.h"
|
||||||
|
|
||||||
struct lwpSelect {
|
struct lwpSelect {
|
||||||
int maxfd;
|
int maxfd;
|
||||||
|
@ -176,19 +177,17 @@ lwpSelect(void *arg)
|
||||||
|
|
||||||
memcpy(&readmask, &LwpSelect.readmask, sizeof(fd_set));
|
memcpy(&readmask, &LwpSelect.readmask, sizeof(fd_set));
|
||||||
memcpy(&writemask, &LwpSelect.writemask, sizeof(fd_set));
|
memcpy(&writemask, &LwpSelect.writemask, sizeof(fd_set));
|
||||||
n = select(LwpSelect.maxfd + 1, &readmask, &writemask,
|
n = select(LwpSelect.maxfd + 1, &readmask, &writemask, NULL, &tv);
|
||||||
(fd_set *) 0, &tv);
|
|
||||||
|
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
if (errno == EINTR) {
|
if (errno != EINTR) {
|
||||||
|
logerror("select failed (%s)", strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
/* go handle the signal */
|
/* go handle the signal */
|
||||||
lwpReady(us);
|
lwpReady(us);
|
||||||
lwpReschedule();
|
lwpReschedule();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
lwpStatus(us, "select failed (bad file descriptor?)");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (LwpSelect.delayq.head) {
|
if (LwpSelect.delayq.head) {
|
||||||
/* sleeping proecss activity */
|
/* sleeping proecss activity */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue