X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2FWINNT%2Fafsd%2Fcm_callback.c;h=36fbbb9044b43b0ec599d8bdd31c2646e1f04c1d;hp=5ead137c0d3ef2625bfcd45293677252c1f901d6;hb=de6a01e51d8ea97e943cb4fa93d6bba2ecae9644;hpb=665a125335c4844d35fa6510a38083602ef7fdbc diff --git a/src/WINNT/afsd/cm_callback.c b/src/WINNT/afsd/cm_callback.c index 5ead137..36fbbb9 100644 --- a/src/WINNT/afsd/cm_callback.c +++ b/src/WINNT/afsd/cm_callback.c @@ -1622,7 +1622,6 @@ long cm_GetCallback(cm_scache_t *scp, struct cm_user *userp, AFSFid tfid; cm_callbackRequest_t cbr; int mustCall; - long sflags; cm_fid_t sfid; struct rx_connection * callp = NULL; @@ -1680,16 +1679,14 @@ long cm_GetCallback(cm_scache_t *scp, struct cm_user *userp, /* turn off mustCall, since it has now forced us past the check above */ mustCall = 0; -#if 0 /* 20060929 jaltman - We are being called from within cm_SyncOp. * if we call cm_SyncOp again and another thread has attempted * to obtain current status CM_SCACHEFLAG_WAITING will be set * and we will deadlock. */ /* otherwise, we have to make an RPC to get the status */ - sflags = CM_SCACHESYNC_FETCHSTATUS | CM_SCACHESYNC_GETCALLBACK; - cm_SyncOp(scp, NULL, userp, reqp, 0, sflags); -#endif /* deadlock */ + cm_SyncOp(scp, NULL, userp, reqp, 0, + CM_SCACHESYNC_FETCHSTATUS | CM_SCACHESYNC_GETCALLBACK); cm_StartCallbackGrantingCall(scp, &cbr); sfid = scp->fid; lock_ReleaseMutex(&scp->mx); @@ -1724,10 +1721,8 @@ long cm_GetCallback(cm_scache_t *scp, struct cm_user *userp, } else { cm_EndCallbackGrantingCall(NULL, &cbr, NULL, 0); } -#if 0 /* 20060929 jaltman - don't deadlock */ - cm_SyncOpDone(scp, NULL, sflags); -#endif + cm_SyncOpDone(scp, NULL, CM_SCACHESYNC_FETCHSTATUS | CM_SCACHESYNC_GETCALLBACK); /* now check to see if we got an error */ if (code) {