Messages in this thread | | | Date | Wed, 7 Mar 2007 09:02:24 -0300 | From | "Kirk Kuchov" <> | Subject | Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 |
| |
On 3/6/07, Pavel Machek <pavel@ucw.cz> wrote: > > >As for why common abstractions like file are a good thing, think about why > > >having "/dev/null" is cleaner that having a special plug DEVNULL_FD fd > > >value to be plugged everywhere, > > > > This is a stupid comparaison. By your logic we should also have /dev/stdin, > > /dev/stdout and /dev/stderr. > > Bzzt, wrong. We have them. > > pavel@amd:~$ ls -al /dev/std* > lrwxrwxrwx 1 root root 4 Nov 12 2003 /dev/stderr -> fd/2 > lrwxrwxrwx 1 root root 4 Nov 12 2003 /dev/stdin -> fd/0 > lrwxrwxrwx 1 root root 4 Nov 12 2003 /dev/stdout -> fd/1 > pavel@amd:~$ ls -al /proc/self/fd > total 0 > dr-x------ 2 pavel users 0 Mar 6 09:18 . > dr-xr-xr-x 4 pavel users 0 Mar 6 09:18 .. > lrwx------ 1 pavel users 64 Mar 6 09:18 0 -> /dev/ttyp2 > lrwx------ 1 pavel users 64 Mar 6 09:18 1 -> /dev/ttyp2 > lrwx------ 1 pavel users 64 Mar 6 09:18 2 -> /dev/ttyp2 > lr-x------ 1 pavel users 64 Mar 6 09:18 3 -> /proc/2299/fd > pavel@amd:~$
I don't believe I'm wasting my time explaining this. They don't exist as /dev/null, they are just fucking _LINKS_. I could even "ln -s /proc/self/fd/0 sucker". A real /dev/stdout can/could even exist, but that's not the point!
It remains a stupid comparison because /dev/stdin/stderr/whatever "must" be plugged, else how could a process write to stdout/stderr that it coud'nt open it ? The way things are is not because it's cleaner to have it as a file but because it's the only sane way. /dev/null is not a must have, it's mainly used for redirecting purposes. A sys_nullify(fileno(stdout)) would rule out almost any use of /dev/null.
> > >As for why common abstractions like file are a good thing, think about why > > >having "/dev/null" is cleaner that having a special plug DEVNULL_FD fd > > >value to be plugged everywhere,
> > >But here the list could be almost endless. > > >And please don't start the, they don't scale or they need heavy file > > >binding tossfeast. They scale as well as the interface that will receive > > >them (poll, select, epoll). Heavy file binding what? 100 or so bytes for > > >the struct file? How many signal/timer fd are you gonna have? Like 100K? > > >Really moot argument when opposed to the benefit of being compatible with > > >existing POSIX interfaces and being more Unix friendly. > > > > So why the HELL don't we have those yet? Why haven't you designed > > epoll with those in mind? Why don't you back your claims with patches? > > (I'm not a kernel developer.) > > Either stop flaming kernel developers or become one. It is that > simple. >
If I were to become a kernel developer I would stick with FreeBSD. At least they have kqueue for about seven years now.
-- Kirk Kuchov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |