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

  • SEARCH
  • Home
  • 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 86207
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T22:12:36+00:00 2026-05-10T22:12:36+00:00

Is there a way to cancel a pending operation (without disconnect) or set a

  • 0

Is there a way to cancel a pending operation (without disconnect) or set a timeout for the boost library functions?

I.e. I want to set a timeout on blocking socket in boost asio?

socket.read_some(boost::asio::buffer(pData, maxSize), error_);

Example: I want to read some from the socket, but I want to throw an error if 10 seconds have passed.

  • 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. 2026-05-10T22:12:36+00:00Added an answer on May 10, 2026 at 10:12 pm

    Under Linux/BSD the timeout on I/O operations on sockets is directly supported by the operating system. The option can be enabled via setsocktopt(). I don’t know if boost::asio provides a method for setting it or exposes the socket scriptor to allow you to directly set it — the latter case is not really portable.

    For a sake of completeness here’s the description from the man page:

    SO_RCVTIMEO and SO_SNDTIMEO

              Specify the receiving or sending  timeouts  until  reporting  an           error.  The argument is a struct timeval.  If an input or output           function blocks for this period of time, and data has been  sent           or  received,  the  return  value  of  that function will be the           amount of data transferred; if no data has been transferred  and           the  timeout has been reached then -1 is returned with errno set           to EAGAIN or EWOULDBLOCK just as if the socket was specified  to           be  non-blocking.   If  the timeout is set to zero (the default)           then the operation  will  never  timeout.   Timeouts  only  have           effect  for system calls that perform socket I/O (e.g., read(2),           recvmsg(2), send(2), sendmsg(2)); timeouts have  no  effect  for           select(2), poll(2), epoll_wait(2), etc. 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there a way to cancel a long running file open operation? Long delays
Is there any way to kill an Eclipse background operation without killing Eclipse itself?
Is there any way to cancel or abort form creation from within the form's
Is there any way to cancel a RadioButton or CheckBox's change in state before
Is there a way to cancel a continuous replication using futon ? One of
Is there way to set @include mixin(); to variable? I tried this @mixin bg-gradient($fallback,
Is there any way to interrupt a Future without cancelling it? java doc API:
A quicky: is there a way to dismiss the keyboard and the searchDisplayController without
Is there a way to cancel the mail instead of asking the user Save
Is there a way to cancel a touch for a UIButton ? I envision

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.