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.


Reply via email to