[Libsysio-commit] HEAD: libsysio/misc fhi.c
Brought to you by:
lward
From: Lee W. <lw...@us...> - 2009-08-17 23:04:34
|
Update of /cvsroot/libsysio/libsysio/misc In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32383 Modified Files: fhi.c Log Message: Both the getattr and rmdir routines could return early without going through SYSIO_INTERFACE_RETURN. This had the unfortunate side-effect of leaving the biglock in the locked state :( Fixed. Index: fhi.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/misc/fhi.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -b -B -p -r1.6 -r1.7 --- fhi.c 17 Aug 2009 17:49:40 -0000 1.6 +++ fhi.c 17 Aug 2009 23:04:25 -0000 1.7 @@ -417,10 +417,13 @@ SYSIO_INTERFACE_NAME(fhi_getattr)(struct "%hY", fhi); + err = 0; do { err = find_alias(fhi, &pno); - if (err) - return -ESTALE; + if (err) { + err = -ESTALE; + break; + } (void )memset(buf, 0, sizeof(struct stat64)); buf->st_dev = pno->p_base->pb_ino->i_stbuf.st_dev; @@ -1009,7 +1012,7 @@ SYSIO_INTERFACE_NAME(fhi_rmdir)(struct f &intent, &pno); if (err) - return err; + break; err = _sysio_p_rmdir(pno); P_PUT(pno->p_parent); P_PUT(pno); |