tree 073380763224ea3a71422c0cf2d1cfc87a675396
parent 7faf0b11934f58f48d1225390952c90c9a4f2d8c
author Maxim Dounin <mdounin@mdounin.ru> 1490714139 +0300
committer Maxim Dounin <mdounin@mdounin.ru> 1490714139 +0300

Simplified and improved sendfile() code on Linux.

The ngx_linux_sendfile() function is now used for both normal sendfile()
and sendfile in threads.  The ngx_linux_sendfile_thread() function was
modified to use the same interface as ngx_linux_sendfile(), and is simply
called from ngx_linux_sendfile() when threads are enabled.

Special return code NGX_DONE is used to indicate that a thread task was
posted and no further actions are needed.

If number of bytes sent is less that what we were sending, we now always
retry sending.  This is needed for sendfile() in threads as the number
of bytes we are sending might have been changed since the thread task
was posted.  And this is also needed for Linux 4.3+, as sendfile() might
be interrupted at any time and provides no indication if it was interrupted
or not (ticket #1174).
