struct MX_MutexRec;
-void MXUser_PlantThreadWatchDog(void (*func)(void));
-
#if defined(VMX86_VMX)
MXUserRecLock *MXUser_InitFromMXRec(const char *name,
struct MX_MutexRec *mutex,
static INLINE void
usleep(unsigned long usec)
{
- Sleep(CEILING(usec, 1000));
+ Sleep(CEILING(usec/1000, 1000));
}
typedef int pid_t;
static Bool mxInPanic = FALSE; // track when involved in a panic
-void (*MXUserVThreadWatchDog)(void);
-
Bool (*MXUserTryAcquireForceFail)() = NULL;
static MX_Rank (*MXUserMxCheckRank)(void) = NULL;
}
#endif
}
-
-
-/*
- *-----------------------------------------------------------------------------
- *
- * MXUser_PlantThreadWatchDog --
- *
- * Plant the pointer to VThread_WatchDog.
- *
- * If this is called lib/thread is around.
- *
- * Results:
- * None
- *
- * Side effects:
- * None
- *
- *-----------------------------------------------------------------------------
- */
-
-void
-MXUser_PlantThreadWatchDog(void (*func)(void))
-{
- MXUserVThreadWatchDog = func;
-}
#ifndef _ULINTSHARED_H_
#define _ULINTSHARED_H_
-extern void (*MXUserVThreadWatchDog)(void);
-
extern void MXUserListLocks(void);
extern void MXUserInstallMxHooks(void (*theLockListFunc)(void),
*
* On Win32, terminate the process and all of its threads, without
* calling any of the DLL termination handlers.
- * On Linux, call exit().
+
+ * On Linux, call _exit().
*
* Results:
* None
Util_ExitProcessAbruptly(int code) // IN
{
#if defined(_WIN32)
- TerminateProcess(GetCurrentProcess(),code);
+ TerminateProcess(GetCurrentProcess(), code);
#else
- exit(code);
+ _exit(code);
#endif
}