22 |
* along with this program ; if not, write to the Free Software |
* along with this program ; if not, write to the Free Software |
23 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 |
* |
* |
25 |
* $Id: motion_smp.h,v 1.2 2006-02-24 23:35:04 suxen_drol Exp $ |
* $Id: motion_smp.h,v 1.7 2010-03-09 10:00:14 Isibaar Exp $ |
26 |
* |
* |
27 |
****************************************************************************/ |
****************************************************************************/ |
28 |
|
|
29 |
#ifndef SMP_MOTION_H |
#ifndef SMP_MOTION_H |
30 |
#define SMP_MOTION_H |
#define SMP_MOTION_H |
31 |
|
|
|
#ifdef WIN32 |
|
|
#include <windows.h> |
|
|
#define pthread_t HANDLE |
|
|
#define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL) |
|
|
#define pthread_join(t,s) { WaitForSingleObject(t,INFINITE); \ |
|
|
CloseHandle(t); } |
|
|
#define sched_yield() Sleep(0) |
|
|
#define HAVE_PTHREAD 1 |
|
|
|
|
|
#elif defined(SYS_BEOS) |
|
|
#include <kernel/OS.h> |
|
|
#define pthread_t thread_id |
|
|
#define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \ |
|
|
resume_thread(*(t)); } |
|
|
#define pthread_join(t,s) wait_for_thread(t,(long*)s) |
|
|
#define sched_yield() snooze(0) /* is this correct? */ |
|
|
#define HAVE_PTHREAD 1 |
|
|
|
|
|
#elif HAVE_PTHREAD |
|
|
#include <pthread.h> |
|
|
#endif |
|
|
|
|
|
|
|
|
#define THREADS 3 |
|
|
|
|
32 |
typedef struct |
typedef struct |
33 |
{ |
{ |
34 |
pthread_t handle; /* thread's handle */ |
pthread_t handle; /* thread's handle */ |
56 |
|
|
57 |
int MVmax, mvSum, mvCount; /* out */ |
int MVmax, mvSum, mvCount; /* out */ |
58 |
|
|
59 |
uint32_t minfcode; |
int minfcode, minbcode; |
|
uint32_t minbcode; |
|
60 |
} SMPmotionData; |
} SMPmotionData; |
61 |
|
|
62 |
|
|