On Sat, Sep 22, 2007 at 06:07:14PM +0200, Michael Kerrisk wrote:
It seems to be a dangerous idea. It has the potential of breaking
userspace applications that rely on POSIX timers not creating fd's.
Image code like this:
/* Close stdin, stdout, stderr */
close(0);
close(1);
close(2);
/* Oh, a timer would be nice */
timer_create(x, y, z);
/* Create new stdin, stdout, stderr */
fd = open("/dev/null", flags);
dup(fd);
dup(fd);
Unless timer_create does some magic to avoid using the lowest available
fd, this would suddenly break as the timerfd would be fd 0.
--
David Härdeman
-