MT support in win32

This commit is contained in:
Vitor Santos Costa 2012-12-20 21:13:20 +00:00
parent fe4218be19
commit a309f47794
2 changed files with 12 additions and 3 deletions

View File

@ -477,8 +477,12 @@ InitTime (int wid)
Times_last_time = TimesStartOfTimes = t; Times_last_time = TimesStartOfTimes = t;
} else { } else {
#if THREADS #if THREADS
REMOTE_ThreadHandle(wid).start_of_timesp = (struct _FILETIME *)malloc(sizeof(FILETIME));
REMOTE_ThreadHandle(wid).last_timep = (struct _FILETIME *)malloc(sizeof(FILETIME));
REMOTE_ThreadHandle(wid).start_of_times_sysp = (struct _FILETIME *)malloc(sizeof(FILETIME));
REMOTE_ThreadHandle(wid).last_time_sysp = (struct _FILETIME *)malloc(sizeof(FILETIME));
(*REMOTE_ThreadHandle(wid).last_timep).dwLowDateTime = (*REMOTE_ThreadHandle(wid).last_timep).dwLowDateTime =
UserTime.dwLowDateTime;pp UserTime.dwLowDateTime;
(*REMOTE_ThreadHandle(wid).last_timep).dwHighDateTime = (*REMOTE_ThreadHandle(wid).last_timep).dwHighDateTime =
UserTime.dwHighDateTime; UserTime.dwHighDateTime;
(*REMOTE_ThreadHandle(wid).start_of_timesp).dwLowDateTime = (*REMOTE_ThreadHandle(wid).start_of_timesp).dwLowDateTime =
@ -1494,8 +1498,8 @@ STATIC_PROTO (void my_signal, (int, void (*)(int)));
static RETSIGTYPE static RETSIGTYPE
HandleMatherr(int sig) HandleMatherr(int sig)
{ {
#if HAVE_FETESTEXCEPT
CACHE_REGS CACHE_REGS
#if HAVE_FETESTEXCEPT
/* This should work in Linux, but it doesn't seem to. */ /* This should work in Linux, but it doesn't seem to. */
int raised = fetestexcept(FE_ALL_EXCEPT); int raised = fetestexcept(FE_ALL_EXCEPT);

View File

@ -746,11 +746,16 @@ typedef struct thandle {
#endif #endif
pthread_mutex_t tlock; pthread_mutex_t tlock;
pthread_mutex_t tlock_status; pthread_mutex_t tlock_status;
#if HAVE_GETRUSAGE||defined(_WIN32) #if HAVE_GETRUSAGE
struct timeval *start_of_timesp; struct timeval *start_of_timesp;
struct timeval *last_timep; struct timeval *last_timep;
struct timeval *start_of_times_sysp; struct timeval *start_of_times_sysp;
struct timeval *last_time_sysp; struct timeval *last_time_sysp;
#elif _WIN32
struct _FILETIME *start_of_timesp;
struct _FILETIME *last_timep;
struct _FILETIME *start_of_times_sysp;
struct _FILETIME *last_time_sysp;
#endif #endif
} yap_thandle; } yap_thandle;
#endif /* THREADS */ #endif /* THREADS */