[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/include il_engine.h, 1.40, 1.41 il_image
From: |
Thong Nguyen <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/include il_engine.h, 1.40, 1.41 il_image.h, 1.20, 1.21 il_thread.h, 1.15, 1.16 |
Date: |
Tue, 15 Jul 2003 18:17:35 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/include
In directory subversions:/tmp/cvs-serv24211/include
Modified Files:
il_engine.h il_image.h il_thread.h
Log Message:
Various updates to threading & finalization
Index: il_engine.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_engine.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -r1.40 -r1.41
*** il_engine.h 6 Jul 2003 00:41:16 -0000 1.40
--- il_engine.h 15 Jul 2003 22:17:33 -0000 1.41
***************
*** 23,26 ****
--- 23,27 ----
#include "il_program.h"
+ #include "il_thread.h"
#ifdef __cplusplus
***************
*** 181,184 ****
--- 182,200 ----
*/
void ILExecInit(unsigned long maxSize);
+
+ /*
+ * Deinitialize the engine.
+ */
+ void ILExecDeinit();
+
+ /*
+ * Registers an ILThread and allow it to execute managed code.
+ */
+ ILExecThread *ILThreadRegisterForManagedExecution(ILExecProcess *process,
ILThread *thread);
+
+ /*
+ * Unregisters an ILThread that no longer needs to execute managed code.
+ */
+ void ILThreadUnregisterForManagedExecution(ILThread *thread);
/*
Index: il_image.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_image.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** il_image.h 7 Jul 2003 12:44:51 -0000 1.20
--- il_image.h 15 Jul 2003 22:17:33 -0000 1.21
***************
*** 166,169 ****
--- 166,179 ----
/*
+ * Used by the engine to attach user data to the context instance.
+ */
+ void ILContextSetUserData(ILContext *context, void *userData);
+
+ /*
+ * Used by the engine to get attached user data from the context instance.
+ */
+ void *ILContextGetUserData(ILContext *context);
+
+ /*
* Create an IL image. This is typically used by compilers
* when building an image in-memory in preparation for writing
Index: il_thread.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_thread.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** il_thread.h 7 Jul 2003 19:44:05 -0000 1.15
--- il_thread.h 15 Jul 2003 22:17:33 -0000 1.16
***************
*** 23,27 ****
#include "il_system.h"
- #include "il_engine.h"
#ifdef __cplusplus
--- 23,26 ----
***************
*** 63,76 ****
/*
- * Registers an ILThread and allow it to execute managed code.
- */
- ILExecThread *ILThreadRegisterForManagedExecution(ILExecProcess *process,
ILThread *thread);
-
- /*
- * Unregisters an ILThread that no longer needs to execute managed code.
- */
- void ILThreadUnregisterForManagedExecution(ILThread *thread);
-
- /*
* Determine if the system has thread support. This can
* be called either before or after "ILThreadInit".
--- 62,65 ----
***************
*** 122,126 ****
/*
* Set the object reference that is associated with a thread.
! * This is typically only required for the "main" thread.
*/
void ILThreadSetObject(ILThread *thread, void *objectArg);
--- 111,115 ----
/*
* Set the object reference that is associated with a thread.
! * This is used by the engine to store a pointer to an ILExecThread.
*/
void ILThreadSetObject(ILThread *thread, void *objectArg);
***************
*** 183,186 ****
--- 172,194 ----
/*
+ * Thread priorities.
+ */
+ #define IL_TP_LOWEST 0x0
+ #define IL_TP_BELOW_NORMAL 0x1
+ #define IL_TP_NORMAL 0x2
+ #define IL_TP_ABOVE_NORMAL 0x3
+ #define IL_TP_HIGHEST 0x4
+
+ /*
+ * Sets the thread priority.
+ */
+ void ILThreadSetPriority(ILThread *thread, int priority);
+
+ /*
+ * Gets the thread priority.
+ */
+ int ILThreadGetPriority(ILThread *thread);
+
+ /*
* Join result codes.
*/
***************
*** 344,347 ****
--- 352,360 ----
/*
+ * Signals and waits for a handle atomically.
+ */
+ int ILSignalAndWait(ILWaitHandle *signalHandle, ILWaitHandle *waitHandle,
ILUInt32 timeout);
+
+ /*
* Wait for any wait handle in a set to become available.
* Returns the index of the handle that was acquired.
***************
*** 402,405 ****
--- 415,420 ----
int ILWaitMonitorCanClose(ILWaitHandle *handle);
+ #define IL_WAIT_LEAVE_STILL_OWNS (2)
+
/*
* Similar to ILWaitMonitorLeave except that waiting moniters aren't
signalled.
***************
*** 429,445 ****
/*
! * Create a wait event.
*/
ILWaitHandle *ILWaitEventCreate(int manualReset, int initialState);
/*
! * Set the event.
*/
int ILWaitEventSet(ILWaitHandle *event);
/*
! * Reset the event.
*/
int ILWaitEventReset(ILWaitHandle *event);
#ifdef __cplusplus
--- 444,469 ----
/*
! * Creates an event.
*/
ILWaitHandle *ILWaitEventCreate(int manualReset, int initialState);
/*
! * Sets an event.
*/
int ILWaitEventSet(ILWaitHandle *event);
/*
! * Resets an event.
*/
int ILWaitEventReset(ILWaitHandle *event);
+
+ /*
+ * Pulses an event.
+ *
+ * If the wait event is a manual reset event, all waiting threads are
signalled.
+ * If the wait event is an auto reset event, a single waiting thread is
signalled.
+ * On return, the wait event is unsignalled.
+ */
+ int ILWaitEventPulse(ILWaitHandle *event);
#ifdef __cplusplus
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/include il_engine.h, 1.40, 1.41 il_image.h, 1.20, 1.21 il_thread.h, 1.15, 1.16,
Thong Nguyen <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2565,1.2566
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnet/engine engine.h, 1.82, 1.83 heap.c, 1.19, 1.20 ilrun.c, 1.36, 1.37 lib_thread.c, 1.18, 1.19 monitor.c, 1.3, 1.4 process.c, 1.53, 1.54 thread.c, 1.21, 1.22 throw.c, 1.6, 1.7
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2565,1.2566
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnet/engine engine.h, 1.82, 1.83 heap.c, 1.19, 1.20 ilrun.c, 1.36, 1.37 lib_thread.c, 1.18, 1.19 monitor.c, 1.3, 1.4 process.c, 1.53, 1.54 thread.c, 1.21, 1.22 throw.c, 1.6, 1.7
- Index(es):