For consistency with Unix
The problem was that the canceled write callbacks were being called before the already written callbacks, even though they were queued after them.