poll: Reformat ssh_poll_ctx_dopoll()
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Этот коммит содержится в:
родитель
531b80a60b
Коммит
0e7a962417
15
src/poll.c
15
src/poll.c
@ -591,7 +591,8 @@ void ssh_poll_ctx_remove(ssh_poll_ctx ctx, ssh_poll_handle p) {
|
||||
* SSH_AGAIN Timeout occured
|
||||
*/
|
||||
|
||||
int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout) {
|
||||
int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout)
|
||||
{
|
||||
int rc;
|
||||
int i, used;
|
||||
ssh_poll_handle p;
|
||||
@ -599,8 +600,9 @@ int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout) {
|
||||
int revents;
|
||||
struct ssh_timestamp ts;
|
||||
|
||||
if (!ctx->polls_used)
|
||||
if (ctx->polls_used == 0) {
|
||||
return SSH_ERROR;
|
||||
}
|
||||
|
||||
ssh_timestamp_init(&ts);
|
||||
do {
|
||||
@ -608,10 +610,13 @@ int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout) {
|
||||
rc = ssh_poll(ctx->pollfds, ctx->polls_used, tm);
|
||||
} while (rc == -1 && errno == EINTR);
|
||||
|
||||
if(rc < 0)
|
||||
if (rc < 0) {
|
||||
return SSH_ERROR;
|
||||
if (rc == 0)
|
||||
}
|
||||
if (rc == 0) {
|
||||
return SSH_AGAIN;
|
||||
}
|
||||
|
||||
used = ctx->polls_used;
|
||||
for (i = 0; i < used && rc > 0; ) {
|
||||
if (!ctx->pollfds[i].revents || ctx->pollptrs[i]->lock) {
|
||||
@ -631,7 +636,7 @@ int ssh_poll_ctx_dopoll(ssh_poll_ctx ctx, int timeout) {
|
||||
}
|
||||
/* the poll was removed, reload the used counter and start again */
|
||||
used = ctx->polls_used;
|
||||
i=0;
|
||||
i = 0;
|
||||
} else {
|
||||
ctx->pollfds[i].revents = 0;
|
||||
ctx->pollfds[i].events = p->events;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user