2020-08-31 18:50:41 +02:00
|
|
|
/***
|
|
|
|
*
|
|
|
|
* Copyright (c) 1996-2002, Valve LLC. All rights reserved.
|
|
|
|
*
|
|
|
|
* This product contains software technology licensed from Id
|
|
|
|
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
|
|
|
|
* All Rights Reserved.
|
|
|
|
*
|
|
|
|
****/
|
|
|
|
|
|
|
|
extern int g_numthreads;
|
|
|
|
|
|
|
|
#define MAX_THREADS 16
|
|
|
|
|
|
|
|
typedef void (*pfnThreadWork)( int current, int threadnum );
|
|
|
|
typedef void (*pfnRunThreads)( int threadnum );
|
|
|
|
|
|
|
|
int GetThreadWork( void );
|
|
|
|
void ThreadSetDefault( void );
|
|
|
|
void RunThreadsOnIndividual( int workcnt, bool showpacifier, pfnThreadWork func );
|
|
|
|
void RunThreadsOnIncremental( int workcnt, bool showpacifier, pfnRunThreads func );
|
|
|
|
void RunThreadsOn( int workcnt, bool showpacifier, pfnRunThreads func );
|
|
|
|
bool ThreadLocked( void );
|
|
|
|
void ThreadLock( void );
|
|
|
|
void ThreadUnlock( void );
|
|
|
|
void ThreadPush( void );
|
|
|
|
void ThreadPop( void );
|
|
|
|
|
|
|
|
void StartPacifier( void );
|
|
|
|
void UpdatePacifier( float percent );
|
|
|
|
void EndPacifier( double total );
|
|
|
|
|
|
|
|
#ifndef NO_THREAD_NAMES
|
|
|
|
#define RunThreadsOn( n, p, f ) { if( p ) Msg( "%-20s", #f ":" ); RunThreadsOn( n, p, f ); }
|
|
|
|
#define RunThreadsOnIncremental( n, p, f, i ) { if( p ) Msg( "%s %i:", #f, i ); RunThreadsOnIncremental( n, p, f ); }
|
|
|
|
#define RunThreadsOnIndividual( n, p, f ) { if (p) Msg( "%-20s", #f ":" ); RunThreadsOnIndividual( n, p, f ); }
|
|
|
|
#endif
|