[patch] fishfs bugs

Pavel Machek pavel at suse.cz
Sat Feb 15 23:04:50 UTC 2003


Hi!

> the first chunk is trivial: you check for got_interrupt but it is always a
> non-zero number, actually the address of teh got_interrupt() function :))
> you probably noticed that it doesn't work so that ! was removed :)
> 
> the second part is probably bug, i see no sense of checking for
> got_interrupt() if interrupt check is disabled...

First part is okay, but I have doubts about second
one. disable_interrupt_key() has something to do ^c, IIRC.

								Pavel

> @@ -615,13 +615,13 @@
>      vfs_s_super *super = FH_SUPER;
>      int n = 0;
>      len = MIN( fh->u.fish.total - fh->u.fish.got, len );
> -    disable_interrupt_key();
> +    enable_interrupt_key();
>      while (len && ((n = read (SUP.sockr, buf, len))<0)) {
>          if ((errno == EINTR) && !got_interrupt())
>  	    continue;
>  	break;
>      }
> -    enable_interrupt_key();
> +    disable_interrupt_key();
>  
>      if (n>0) fh->u.fish.got += n;
>      if (n<0) linear_abort(me, fh);
> 

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]



More information about the mc-devel mailing list