Hi All,

found the following comment & code in SOLARIS/osi_vnops.c
and was wondering what it complains about regarding
Solaris rw_tryupgrade() ?

<snip>
#if     defined(AFS_SUN5_ENV)
/* 
 * XXX Temporary fix for problems with Solaris rw_tryupgrade() lock.
 * It isn't very persistent in getting the upgrade when others are
 * waiting for it and returns 0.  So the UpgradeSToW() macro that the
 * rw_tryupgrade used to map to wasn't good enough and we need to use
 * the following code instead.  Obviously this isn't the proper place
 * for it but it's only called from here for now
 * 
 */
#ifndef AFS_SUN54_ENV
AFS_TRYUP(lock)
     afs_rwlock_t *lock;
{
    if (!rw_tryupgrade(lock)) {
        rw_exit(lock);
        rw_enter(lock, RW_WRITER);
    }
}
#endif
#endif
<snip end>


frankB

----------------------------------------------------------
Frank Batschulat, Solaris Kernel Sustaining & Engineering. 

[EMAIL PROTECTED]         (+49 30) 747 096 845 (x65845)              
----------------------------------------------------------

_______________________________________________
OpenAFS-devel mailing list
[EMAIL PROTECTED]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to