mirror of https://github.com/YosysHQ/abc.git
Merge pull request #318 from YosysHQ/povik/fix-atomic_store-call
Fix types in call to atomic_store_explicit
This commit is contained in:
commit
762a123edc
|
|
@ -36,6 +36,7 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
#else
|
#else
|
||||||
#include <stdatomic.h>
|
#include <stdatomic.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -103,7 +104,7 @@ void * Util_Thread( void * pArg )
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
pThData->pUserFunc( pThData->pUserData );
|
pThData->pUserFunc( pThData->pUserData );
|
||||||
atomic_store_explicit(&pThData->fWorking, 0, memory_order_release);
|
atomic_store_explicit(&pThData->fWorking, false, memory_order_release);
|
||||||
}
|
}
|
||||||
assert( 0 );
|
assert( 0 );
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
@ -133,7 +134,7 @@ void Util_ProcessThreads( int (*pUserFunc)(void *), void * vData, int nProcs, in
|
||||||
ThData[i].pUserFunc = pUserFunc;
|
ThData[i].pUserFunc = pUserFunc;
|
||||||
ThData[i].iThread = i;
|
ThData[i].iThread = i;
|
||||||
ThData[i].nTimeOut = TimeOut;
|
ThData[i].nTimeOut = TimeOut;
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 0, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, false, memory_order_release);
|
||||||
status = pthread_create( WorkerThread + i, NULL, Util_Thread, (void *)(ThData + i) ); assert( status == 0 );
|
status = pthread_create( WorkerThread + i, NULL, Util_Thread, (void *)(ThData + i) ); assert( status == 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,7 +151,7 @@ void Util_ProcessThreads( int (*pUserFunc)(void *), void * vData, int nProcs, in
|
||||||
if ( atomic_load_explicit(&ThData[i].fWorking, memory_order_acquire) )
|
if ( atomic_load_explicit(&ThData[i].fWorking, memory_order_acquire) )
|
||||||
continue;
|
continue;
|
||||||
ThData[i].pUserData = Vec_PtrPop( vStack );
|
ThData[i].pUserData = Vec_PtrPop( vStack );
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 1, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, true, memory_order_release);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -168,7 +169,7 @@ void Util_ProcessThreads( int (*pUserFunc)(void *), void * vData, int nProcs, in
|
||||||
for ( i = 0; i < nProcs; i++ )
|
for ( i = 0; i < nProcs; i++ )
|
||||||
{
|
{
|
||||||
ThData[i].pUserData = NULL;
|
ThData[i].pUserData = NULL;
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 1, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, true, memory_order_release);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Join threads
|
// Join threads
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
#else
|
#else
|
||||||
#include <stdatomic.h>
|
#include <stdatomic.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -126,7 +127,7 @@ void * Ssw_GiaWorkerThread( void * pArg )
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
Cec_ManLSCorrespondenceClasses( pThData->p, &pThData->CorPars );
|
Cec_ManLSCorrespondenceClasses( pThData->p, &pThData->CorPars );
|
||||||
atomic_store_explicit(&pThData->fWorking, 0, memory_order_release);
|
atomic_store_explicit(&pThData->fWorking, false, memory_order_release);
|
||||||
}
|
}
|
||||||
assert( 0 );
|
assert( 0 );
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
@ -154,7 +155,7 @@ void Ssw_SignalCorrespondenceArray( Vec_Ptr_t * vGias, Ssw_Pars_t * pPars )
|
||||||
{
|
{
|
||||||
ThData[i].CorPars = *pCorPars;
|
ThData[i].CorPars = *pCorPars;
|
||||||
ThData[i].iThread = i;
|
ThData[i].iThread = i;
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 0, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, false, memory_order_release);
|
||||||
status = pthread_create( WorkerThread + i, NULL, Ssw_GiaWorkerThread, (void *)(ThData + i) ); assert( status == 0 );
|
status = pthread_create( WorkerThread + i, NULL, Ssw_GiaWorkerThread, (void *)(ThData + i) ); assert( status == 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -171,7 +172,7 @@ void Ssw_SignalCorrespondenceArray( Vec_Ptr_t * vGias, Ssw_Pars_t * pPars )
|
||||||
if ( atomic_load_explicit(&ThData[i].fWorking, memory_order_acquire) )
|
if ( atomic_load_explicit(&ThData[i].fWorking, memory_order_acquire) )
|
||||||
continue;
|
continue;
|
||||||
ThData[i].p = (Gia_Man_t*)Vec_PtrPop( vStack );
|
ThData[i].p = (Gia_Man_t*)Vec_PtrPop( vStack );
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 1, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, true, memory_order_release);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -188,7 +189,7 @@ void Ssw_SignalCorrespondenceArray( Vec_Ptr_t * vGias, Ssw_Pars_t * pPars )
|
||||||
for ( i = 0; i < nProcs; i++ )
|
for ( i = 0; i < nProcs; i++ )
|
||||||
{
|
{
|
||||||
ThData[i].p = NULL;
|
ThData[i].p = NULL;
|
||||||
atomic_store_explicit(&ThData[i].fWorking, 1, memory_order_release);
|
atomic_store_explicit(&ThData[i].fWorking, true, memory_order_release);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Join threads
|
// Join threads
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue