Skip to content

Commit b2aa055

Browse files
committed
Remove volatile access to this flag
1 parent 999a3b8 commit b2aa055

File tree

4 files changed

+2
-21
lines changed

4 files changed

+2
-21
lines changed

src/core/connection.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,10 +1113,8 @@ QuicConnRelease(
11131113
QuicConnValidate(Connection);
11141114

11151115
BOOLEAN LastRef = FALSE;
1116-
QUIC_CONNECTION_STATE State = {0};
1117-
State.Flags = CxPlatReadNoFence64((volatile const int64_t*)&Connection->State.Flags);
11181116

1119-
if (!State.CleanupStarted) {
1117+
if (!Connection->State.CleanupStarted) {
11201118
LastRef = CxPlatRefDecrement(&Connection->RefCount);
11211119
#if DEBUG
11221120
CXPLAT_TEL_ASSERT(!CxPlatRefDecrement(&Connection->RefTypeBiasedCount[Ref]));
@@ -1145,8 +1143,7 @@ QuicConnRelease(
11451143
// datapath binding being deleted on a callback. Instead, queue the
11461144
// connection to be released by the worker.
11471145
//
1148-
State.CleanupStarted = TRUE;
1149-
CxPlatWriteNoFence64((volatile int64_t*)&Connection->State.Flags, State.Flags);
1146+
Connection->State.CleanupStarted = TRUE;
11501147
CXPLAT_DBG_ASSERT(Connection->Worker != NULL);
11511148
QuicWorkerQueueConnection(Connection->Worker, Connection);
11521149
} else {

src/inc/quic_platform_posix.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,10 +295,6 @@ InterlockedDecrement64(
295295

296296
#define QuicReadLongPtrNoFence(p) __atomic_load_n((p), __ATOMIC_RELAXED)
297297

298-
#define CxPlatReadNoFence64(p) __atomic_load_n((p), __ATOMIC_RELAXED)
299-
300-
#define CxPlatWriteNoFence64(p, v) __atomic_store_n((p), (v), __ATOMIC_RELAXED)
301-
302298
//
303299
// Assertion interfaces.
304300
//

src/inc/quic_platform_winkernel.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,15 +382,11 @@ typedef EX_SPIN_LOCK CXPLAT_DISPATCH_RW_LOCK;
382382
#define QuicDecrementLongPtrRelease InterlockedDecrementRelease64
383383
#define QuicCompareExchangeLongPtrNoFence InterlockedCompareExchangeNoFence64
384384
#define QuicReadLongPtrNoFence ReadNoFence64
385-
#define CxPlatReadNoFence64 ReadNoFence64
386-
#define CxPlatWriteNoFence64 WriteNoFence64
387385
#else
388386
#define QuicIncrementLongPtrNoFence InterlockedIncrementNoFence
389387
#define QuicDecrementLongPtrRelease InterlockedDecrementRelease
390388
#define QuicCompareExchangeLongPtrNoFence InterlockedCompareExchangeNoFence
391389
#define QuicReadLongPtrNoFence ReadNoFence
392-
#define CxPlatReadNoFence64 ReadNoFence64
393-
#define CxPlatWriteNoFence64 WriteNoFence64
394390
#endif
395391
#define QuicReadPtrNoFence ReadPointerNoFence
396392

src/inc/quic_platform_winuser.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -559,12 +559,8 @@ typedef SRWLOCK CXPLAT_DISPATCH_RW_LOCK;
559559

560560
#ifdef QUIC_RESTRICTED_BUILD
561561
#define QuicReadLongPtrNoFence(p) ((LONG64)(*p))
562-
#define CxPlatReadNoFence64(p) ((uint64_t)(*p))
563-
#define CxPlatWriteNoFence64(p, v) (*(p) = (v))
564562
#else
565563
#define QuicReadLongPtrNoFence ReadNoFence64
566-
#define CxPlatReadNoFence64 ReadNoFence64
567-
#define CxPlatWriteNoFence64 WriteNoFence64
568564
#endif
569565

570566
#else
@@ -575,12 +571,8 @@ typedef SRWLOCK CXPLAT_DISPATCH_RW_LOCK;
575571

576572
#ifdef QUIC_RESTRICTED_BUILD
577573
#define QuicReadLongPtrNoFence(p) ((LONG)(*p))
578-
#define CxPlatReadNoFence64(p) ((uint64_t)(*p))
579-
#define CxPlatWriteNoFence64(p, v) (*(p) = (v))
580574
#else
581575
#define QuicReadLongPtrNoFence ReadNoFence
582-
#define CxPlatReadNoFence64 ReadNoFence64
583-
#define CxPlatWriteNoFence64 WriteNoFence64
584576
#endif
585577

586578
#endif

0 commit comments

Comments
 (0)