Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 521945
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T08:18:12+00:00 2026-05-13T08:18:12+00:00

It is obvious that in general the read(2) system call can return less bytes

  • 0

It is obvious that in general the read(2) system call can return less bytes than what was asked to be read. However, quite a few programs assume that when working with a local files, read(2) never returns less than what was asked (unless the file is shorter, of course).

So, my question is: on Linux, in which cases can read(2) return less than what was requested if reading from an open file and EOF is not encountered and the amount being read is a few kilobytes at maximum?

Some guesses:

  • Can received signals interrupt a read like that, but not make it fail?
  • Can different filesystems affect this behavior? Is there anything special about jffs2?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T08:18:12+00:00Added an answer on May 13, 2026 at 8:18 am

    POSIX.1-2008 states:

    The value returned may be less than
    nbyte if the number of bytes left in
    the file is less than nbyte, if the
    read() request was interrupted by a
    signal, or if the file is a pipe or
    FIFO or special file and has fewer
    than nbyte bytes immediately available
    for reading.

    Disk-based filesystems generally use uninterruptible reads, which means that the
    read operation generally cannot be interrupted by a signal. Network-based
    filesystems sometimes use interruptible reads, which can return partial data or no data.
    (In the case of NFS this is configurable using the intr mount option.)
    They sometimes also implement timeouts.

    Keep in mind that even /some/arbitrary/file/path may refer to a FIFO or
    special file, so what you thought was a regular file may not be. It is therefore
    good practice to handle partial reads even though they may be unlikely.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I always wonder why compilers can't figure out simple things that are obvious to
I'll take away the obvious one here: mic and webcam support. Other than that,
It seems obvious that some people have been able to figure out how to
I find it curious that the most obvious way to create Date objects in
Is there an obvious way to do this that I'm missing? I'm just trying
I feel that it should be something very simple and obvious but just stuck
Please don't answer the obvious, but what are the limit signs that tell us
http://developer.yahoo.com/javascript/howto-proxy.html Are there disadvantages to this technique? The advantage is obvious, that you can
I think the answer to this question is so obivous that noone has bothered
The obvious way to plot a path with virtual earth (VEMap.GetDirections) is limited to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.