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 7732385
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T06:43:03+00:00 2026-06-01T06:43:03+00:00

My program accepts up to 4 connections (using select function). Once they’re connect, they

  • 0

My program accepts up to 4 connections (using select function). Once they’re connect, they have 5 seconds to send a string, indicating that they want to stay connected. Those that do not send within 5 seconds, or has the wrong passcode, will be disconnected.

I’ve created a small timer program, that is forked whenever a connection is established. The forked timer will send back a signal to the original program if 5 seconds are gone. In which case, the signal handler will close the file descriptor, and clear the connection.

My problem is, whenever the signal handler is triggered, select() returns -1, indicating it has failed. Does anyone know why this is happening? Or if there’s another timing mechanism I could use?

Thanks

  • 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-06-01T06:43:05+00:00Added an answer on June 1, 2026 at 6:43 am

    I believe this is the intended behavior of select(): return -1 with errno appropriately set if a signal occurs.

    I don’t think threads are the way to go here. I assume you want a program with roughly this structure (pardon the java-esque naming, but you get the point):

    int fdsThatResponded[FDCOUNT];
    memset(fdsThatResponded, 0, sizeof(int)*FDCOUNT);
    
    while (time_elapsed < 5) {
        ret = select(......);
        if (-1 == ret) {
            handleError();
        }
        checkWhichFdAndHandleAppropriately();
        reinitializeTimerForSelectWithRemainingTime();
    }
    

    Does that help at all?

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

Sidebar

Related Questions

I have a small server program that accepts connections on a TCP or local
The program is supposed to accept telnet connections on port 8888 and then send
I've got an event-driven network server program. This program accepts connections from other processes
In sockets I have written the client server program. First I tried to send
I have created a separate project to connect my server component to clients using
Lets say I have a server program that can accept connections from 10 (or
I have a C++ Program listening for incoming socket connections on port 2222. I
I wrote a program that accepts and outputs Hebrew (i.e. right-to-left) text. In lieu
Most program languages have some kind of exception handling; some languages have return codes,
I'm trying to write a simple program that will receive a string of max

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.