Hi!
Thanks for replying. You're the only one so far, which makes
me wonder whether there's a more appropriate place for
plan9port discussions.
On Sun, 2008-10-05 at 23:35 +0800, sqweek wrote:
> On Sat, Oct 4, 2008 at 3:18 AM, Roman V. Shaposhnik <[EMAIL PROTECTED]> wrote:
> > it appears that I'm missing something fundamental in how
> > 9pfuse (the one written by Russ) works when it is given
> > "-" as an address.
>
> Seems to work here on linux after:
> #include <error.h>
> #include <errno.h>
> +#include <unistd.h>
>
> void socket012(int fd)
> {
> int i;
> - for (i=0; i<3; i++) {
> + for (i=0; i<2; i++) {
> close(i);
> dup2(fd, i);
>
> if (fork()) {
> socket012(fd[0]);
> - execlp("9pfuse", "9pfuse", "-", "/tmp/fuse", (char*)0);
> + execlp("9pfuse", "9pfuse", "-D", "-", "/tmp/fuse", (char*)0);
> } else {
> socket012(fd[1]);
>
> ls -l caused a failed assertion in ramfs, but it was going.
Yeah, that tripped me too. In fact, I'm wondering whether ramfs works
as advertised at all. I wasn't able to make it work on:
$ uname -a
Linux goose 2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC x86_64
x86_64 x86_64 GNU/Linux
> Can't justify why the diff works, but before adding -D and changing 3 -> 2 I
> didn't have any success.
It seems to be flaky on my end. It looks like a race condition but
I haven't investigated further yet.
> Would love to look into it further but in the
> interest of not destroying my work schedule this week I'm going to get
> some damn sleep. Good luck.
I hear you...
Thanks,
Roman.