Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

How would I put my socket in non-blocking mode?

Answer Posted / chaitanya

Technically, fcntl(soc, F_SETFL, O_NONBLOCK) is incorrect since it clobbers all other file flags. Generally one gets away with it since the other flags (O_APPEND for example) don't really apply much to sockets. In a similarly rough vein, you would use fcntl(soc, F_SETFL, 0) to go back to blocking mode.

To do it right, use F_GETFL to get the current flags, set or clear the O_NONBLOCK flag, then use F_SETFL to set the flags.

And yes, the flag can be changed either way at will.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Is a socket a file?

909


Can multiple clients connect to same socket?

951


How does unix socket work?

961


Is tcp or unix socket faster?

899


What's the difference between impact sockets and regular sockets?

907


How can I set the timeout for the connect() system call?

1548


Why sockets are used?

934


What is socket address with example?

906


What is a socket connection?

1003


Why do we need sockets?

890


How many sockets can a port have?

915


How many socket connections can a server handle?

907


Can a single socket port be used for multiple applications?

925


Are unix sockets faster than tcp?

911


What is the difference between SO_REUSEADDR and SO_REUSEPORT?

1845