diff --git a/client.s b/client.s index fa59078..38e08cb 100644 --- a/client.s +++ b/client.s @@ -137,15 +137,16 @@ client__pollout__shunt__finished: jl client__pollout__return mov word [pollfds + rbx * pollfd_size + 4], POLLIN -client__pollout__no_line: - mov rax, -1024 - client__pollout__return: pop r13 pop r12 pop rbx ret +client__pollout__no_line: + mov rax, -1024 + jmp client__pollout__return + ; rdi - fd client__shutdown_close: mov rax, SYS_SHUTDOWN diff --git a/main.s b/main.s index 3331bd8..ffa5496 100644 --- a/main.s +++ b/main.s @@ -158,6 +158,8 @@ _client__pollout: mov rsi, r12 mov rdx, r15 call client__pollout + cmp rax, 0 + jle _client__error_or_eof add r15, 1 jmp scan__loop