Ticket #11168: 0001-Adding-explicit-cast-to-atomic-operations.patch

File 0001-Adding-explicit-cast-to-atomic-operations.patch, 5.2 KB (added by jalopeura, 10 years ago)
  • src/add-ons/kernel/file_systems/netfs/headers/shared/Utils.h

    From 305ac1fb58079f150e00fa6f1dffebbd434ddb6f Mon Sep 17 00:00:00 2001
    From: Sean Healy <jalopeura@hotmail.com>
    Date: Fri, 29 Aug 2014 21:28:51 -0700
    Subject: [PATCH] Adding explicit cast to atomic operations
    
    ---
     src/add-ons/kernel/file_systems/netfs/headers/shared/Utils.h       | 2 +-
     src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp  | 4 ++--
     src/add-ons/kernel/file_systems/netfs/server/ClientVolume.cpp      | 2 +-
     src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp       | 4 ++--
     src/add-ons/kernel/file_systems/netfs/shared/NetAddress.cpp        | 6 +++---
     src/add-ons/kernel/file_systems/netfs/shared/RequestConnection.cpp | 4 ++--
     6 files changed, 11 insertions(+), 11 deletions(-)
    
    diff --git a/src/add-ons/kernel/file_systems/netfs/headers/shared/Utils.h b/src/add-ons/kernel/file_systems/netfs/headers/shared/Utils.h
    index 7fb05f9..981df38 100644
    a b static inline  
    2626void
    2727safe_closesocket(vint32& socketVar)
    2828{
    29     int32 socket = atomic_or(&socketVar, -1);
     29    int32 socket = atomic_or(&(int32)socketVar, -1);
    3030#ifdef __HAIKU__
    3131    close(socket);
    3232#else
  • src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp

    diff --git a/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp b/src/add-ons/kernel/file_systems/netfs/server/ClientConnection.cpp
    index efd6d86..a52b071 100644
    a b bool  
    305305ClientConnection::GetReference()
    306306{
    307307    AutoLocker<Locker> _(fLock);
    308     if (fClosed || !atomic_or(&fInitialized, 0))
     308    if (fClosed || !atomic_or(&(int32)fInitialized, 0))
    309309        return false;
    310310    fReferenceCount++;
    311311    return true;
    ClientConnection::VisitConnectionBrokenRequest(ConnectionBrokenRequest* request)  
    497497status_t
    498498ClientConnection::VisitInitConnectionRequest(InitConnectionRequest* request)
    499499{
    500     bool alreadyInitialized = atomic_or(&fInitialized, ~0);
     500    bool alreadyInitialized = atomic_or(&(int32)fInitialized, ~0);
    501501
    502502    ConnectionReference connectionReference(this);
    503503    if (!connectionReference.IsValid())
  • src/add-ons/kernel/file_systems/netfs/server/ClientVolume.cpp

    diff --git a/src/add-ons/kernel/file_systems/netfs/server/ClientVolume.cpp b/src/add-ons/kernel/file_systems/netfs/server/ClientVolume.cpp
    index f6af50a..7328a6e 100644
    a b ClientVolume::ProcessNodeMonitoringEvent(NodeMonitoringEvent* event)  
    516516int32
    517517ClientVolume::_NextVolumeID()
    518518{
    519     return atomic_add(&sNextVolumeID, 1);
     519    return atomic_add(&(int32)sNextVolumeID, 1);
    520520}
    521521
    522522// sNextVolumeID
  • src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp

    diff --git a/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp b/src/add-ons/kernel/file_systems/netfs/server/NetFSServer.cpp
    index 4b067eb..7ad16e9 100644
    a b NetFSServer::_Broadcaster()  
    12301230        } else
    12311231            snooze(remainingTime);
    12321232
    1233         update = atomic_and(&fServerInfoUpdated, 0);
     1233        update = atomic_and(&(int32)fServerInfoUpdated, 0);
    12341234    }
    12351235
    12361236    // close the socket
    NetFSServer::_GetServerInfo(ServerInfo& serverInfo)  
    13281328void
    13291329NetFSServer::_ServerInfoUpdated()
    13301330{
    1331     atomic_or(&fServerInfoUpdated, 1);
     1331    atomic_or(&(int32)fServerInfoUpdated, 1);
    13321332    release_sem(fBroadcasterSemaphore);
    13331333}
    13341334
  • src/add-ons/kernel/file_systems/netfs/shared/NetAddress.cpp

    diff --git a/src/add-ons/kernel/file_systems/netfs/shared/NetAddress.cpp b/src/add-ons/kernel/file_systems/netfs/shared/NetAddress.cpp
    index 33d8d53..279ac11 100644
    a b NetAddressResolver::GetHostAddress(const char* hostName, NetAddress* address)  
    283283void
    284284NetAddressResolver::_Lock()
    285285{
    286     while (atomic_add(&sLockCounter, 1) > 0) {
    287         atomic_add(&sLockCounter, -1);
     286    while (atomic_add(&(int32)sLockCounter, 1) > 0) {
     287        atomic_add(&(int32)sLockCounter, -1);
    288288        snooze(10000);
    289289    }
    290290}
    NetAddressResolver::_Lock()  
    293293void
    294294NetAddressResolver::_Unlock()
    295295{
    296     atomic_add(&sLockCounter, -1);
     296    atomic_add(&(int32)sLockCounter, -1);
    297297}
    298298
    299299
  • src/add-ons/kernel/file_systems/netfs/shared/RequestConnection.cpp

    diff --git a/src/add-ons/kernel/file_systems/netfs/shared/RequestConnection.cpp b/src/add-ons/kernel/file_systems/netfs/shared/RequestConnection.cpp
    index eded505..1c9b71d 100644
    a b RequestConnection::Init()  
    149149void
    150150RequestConnection::Close()
    151151{
    152     atomic_add(&fTerminationCount, 1);
     152    atomic_add(&(int32)fTerminationCount, 1);
    153153    if (fConnection)
    154154        fConnection->Close();
    155155    if (fThreads) {
    bool  
    179179RequestConnection::DownStreamChannelError(DownStreamThread* thread,
    180180    status_t error)
    181181{
    182     if (atomic_add(&fTerminationCount, 1) == 0 && fRequestHandler) {
     182    if (atomic_add(&(int32)fTerminationCount, 1) == 0 && fRequestHandler) {
    183183        ConnectionBrokenRequest request;
    184184        request.error = error;
    185185        fRequestHandler->HandleRequest(&request, thread->GetRequestChannel());