Rõ ràng là nói chung cuộc gọi hệ thống đọc (2) có thể trả lại ít byte hơn so với yêu cầu được đọc. Tuy nhiên, một vài chương trình giả định rằng khi làm việc với một tệp cục bộ, đọc (2) không bao giờ trả về ít hơn những gì được yêu cầu (trừ khi tệp ngắn hơn, dĩ nhiên). Vì vậy, câu hỏi của tôi là: trên Linux, trong trường hợp này có thể đọc (2) trả về ít hơn những gì được yêu cầu nếu đọc từ một tập tin mở và EOF không gặp phải và số tiền được đọc tối đa là vài kilobyte?"đọc ngắn" từ hệ thống tệp, khi nào nó có thể xảy ra?
Một số dự đoán:
- có thể nhận được tín hiệu gián đoạn đọc như thế, nhưng không làm cho nó thất bại?
- Hệ thống tệp khác nhau có ảnh hưởng đến hành vi này không? Có điều gì đặc biệt về jffs2 không?
Chương trình nào "giả định rằng khi làm việc với một tệp cục bộ, đọc (2) không bao giờ trả về ít hơn số được hỏi"? Trong trường hợp chung, điều đó nghe có vẻ giống như một con bọ. – Ken
Ví dụ, fstype binary trong klibc utils. Có vẻ như nhiều chương trình cấp thấp có thể giả định làm việc với các tệp trực tiếp giả định rằng lần đọc không bao giờ ngắn. – Nakedible