How to make a file descriptor blocking?
c, file-io, unix
Solution
Its been a while since I played with C, but you could use the fcntl() function to change the flags of a file descriptor:
#include <unistd.h>
#include <fcntl.h>
// Save the existing flags
saved_flags = fcntl(fd, F_GETFL);
// Set the new flags with O_NONBLOCK masked out
fcntl(fd, F_SETFL, saved_flags & ~O_NONBLOCK);
Problem
Given an arbitrary file descriptor, can I make it blocking if it is non-blocking? If so, how?