]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Interlocked ops for cm_user flags
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 15 Aug 2011 01:41:19 +0000 (21:41 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Mon, 15 Aug 2011 04:03:15 +0000 (21:03 -0700)
Reviewed-on: http://gerrit.openafs.org/5273
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit f75214282795b23c433b2512b00d24b3e6166b76)

Change-Id: I092a0d74919b1d8ecf62fbb57c5b957f16184a05
Reviewed-on: http://gerrit.openafs.org/5275
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_ioctl.c
src/WINNT/afsd/cm_user.c
src/WINNT/afsd/smb_ioctl.c

index 28c8629eb8551be2f1b003c577da9fbdb55b5701..6a5f17e643365b4afa614b2a51b29eb967da00eb 100644 (file)
@@ -817,7 +817,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp,
                 free(ucellp->ticketp);
                 ucellp->ticketp = NULL;
             }
-            ucellp->flags &= ~CM_UCELLFLAG_RXKAD;
+            _InterlockedAnd(&ucellp->flags, ~CM_UCELLFLAG_RXKAD);
             ucellp->gen++;
             lock_ReleaseMutex(&userp->mx);
             if ( timeLeft > 2 )
index 6e94b8a381ea8e297f738013e1c52ed9ad212432..d2c61f7b7f46d4be73643065fd0e060880b96ffb 100644 (file)
@@ -2562,7 +2562,7 @@ cm_IoctlSetToken(struct cm_ioctl *ioctlp, struct cm_user *userp)
        cm_UsernameToId(uname, ucellp, &ucellp->uid);
 #endif
     }
-    ucellp->flags |= CM_UCELLFLAG_RXKAD;
+    _InterlockedOr(&ucellp->flags, CM_UCELLFLAG_RXKAD);
     lock_ReleaseMutex(&userp->mx);
 
     if (flags & PIOCTL_LOGON) {
@@ -2787,7 +2787,7 @@ cm_IoctlDelToken(struct cm_ioctl *ioctlp, struct cm_user *userp)
     ucellp->kvno = 0;
     ucellp->expirationTime = 0;
     ucellp->userName[0] = '\0';
-    ucellp->flags &= ~CM_UCELLFLAG_RXKAD;
+    _InterlockedAnd(&ucellp->flags, ~CM_UCELLFLAG_RXKAD);
     ucellp->gen++;
 
     lock_ReleaseMutex(&userp->mx);
@@ -2821,7 +2821,7 @@ cm_IoctlDelAllToken(struct cm_ioctl *ioctlp, struct cm_user *userp)
        ucellp->kvno = 0;
        ucellp->expirationTime = 0;
        ucellp->userName[0] = '\0';
-        ucellp->flags &= ~CM_UCELLFLAG_RXKAD;
+        _InterlockedAnd(&ucellp->flags, ~CM_UCELLFLAG_RXKAD);
         ucellp->gen++;
     }
 
index 0af496ee54a776340ad52c616ac354b01192e4c8..508f86eaef00c30bd9a9b156a0d2da542709470f 100644 (file)
@@ -180,7 +180,7 @@ void cm_CheckTokenCache(time_t now)
                             free(ucellp->ticketp);
                             ucellp->ticketp = NULL;
                         }
-                        ucellp->flags &= ~CM_UCELLFLAG_RXKAD;
+                        _InterlockedAnd(&ucellp->flags, ~CM_UCELLFLAG_RXKAD);
                         ucellp->gen++;
                         bExpired=TRUE;
                     }
index 4de4db4a5ebf57a8dbd5fee08f26d1f86a97ada6..fd76e8e5a83f2e9ee1e20862acdc360084ab23e3 100644 (file)
@@ -1195,7 +1195,7 @@ smb_IoctlSetToken(struct smb_ioctl *ioctlp, struct cm_user *userp, afs_uint32 pf
        cm_UsernameToId(uname, ucellp, &ucellp->uid);
 #endif
     }
-    ucellp->flags |= CM_UCELLFLAG_RXKAD;
+    _InterlockedOr(&ucellp->flags, CM_UCELLFLAG_RXKAD);
     lock_ReleaseMutex(&userp->mx);
 
     if ((pflags & AFSCALL_FLAG_LOCAL_SYSTEM) && (flags & PIOCTL_LOGON)) {