|
Mac OS 9
|
Multiprocessing interfaces. More...
Go to the source code of this file.
Data Structures | |
| struct | MPTaskInfo |
| struct | CheckingAPIAvailability |
| struct | TaskStateWarning |
Functions | |
Process/Processor Services | |
| ItemCount | MPProcessors (void) |
| ItemCount | MPProcessorsScheduled (void) |
Notification Services (API) | |
| OSStatus | MPCreateNotification (MPNotificationID *notificationID) |
| OSStatus | MPDeleteNotification (MPNotificationID notificationID) |
| OSStatus | MPModifyNotification (MPNotificationID notificationID, MPOpaqueID anID, void *notifyParam1, void *notifyParam2, void *notifyParam3) |
| OSStatus | MPModifyNotificationParameters (MPNotificationID notificationID, MPOpaqueIDClass kind, void *notifyParam1, void *notifyParam2, void *notifyParam3) |
| OSStatus | MPCauseNotification (MPNotificationID notificationID) |
Miscellaneous Services | |
| void | _MPLibraryVersion (const char **versionCString, UInt32 *major, UInt32 *minor, UInt32 *release, UInt32 *revision) |
General Types and Constants | |
| #define | MPCopyrightNotice "Copyright © 1995-2001 Apple Computer, Inc.\n" |
| #define | MPLibraryName "MPLibrary" |
| #define | MPLibraryCName MPLibraryName |
| #define | MPLibraryPName "\p" MPLibraryName |
| #define | MP_API_Version "2.4" |
| enum | { MPLibrary_MajorVersion , MPLibrary_MinorVersion , MPLibrary_Release = 1 , MPLibrary_DevelopmentRevision = 1 } |
| enum | { kOpaqueAnyID = 0 , kOpaqueProcessID = 1 , kOpaqueTaskID = 2 , kOpaqueTimerID = 3 , kOpaqueQueueID = 4 , kOpaqueSemaphoreID = 5 , kOpaqueCriticalRegionID = 6 , kOpaqueCpuID = 7 , kOpaqueAddressSpaceID = 8 , kOpaqueEventID = 9 , kOpaqueCoherenceID = 10 , kOpaqueAreaID = 11 , kOpaqueNotificationID = 12 , kOpaqueConsoleID = 13 } |
| enum | { kMPNoID = kInvalidID } |
| enum | { kDurationImmediate = 0L , kDurationForever = 0x7FFFFFFF , kDurationMillisecond = 1 , kDurationMicrosecond = -1 } |
| typedef struct OpaqueMPProcessID * | MPProcessID |
| typedef struct OpaqueMPTaskID * | MPTaskID |
| typedef struct OpaqueMPQueueID * | MPQueueID |
| typedef struct OpaqueMPSemaphoreID * | MPSemaphoreID |
| typedef struct OpaqueMPCriticalRegionID * | MPCriticalRegionID |
| typedef struct OpaqueMPTimerID * | MPTimerID |
| typedef struct OpaqueMPEventID * | MPEventID |
| typedef struct OpaqueMPAddressSpaceID * | MPAddressSpaceID |
| typedef struct OpaqueMPNotificationID * | MPNotificationID |
| typedef struct OpaqueMPCoherenceID * | MPCoherenceID |
| typedef struct OpaqueMPCpuID * | MPCpuID |
| typedef struct OpaqueMPAreaID * | MPAreaID |
| typedef struct OpaqueMPConsoleID * | MPConsoleID |
| typedef struct OpaqueMPOpaqueID * | MPOpaqueID |
| typedef UInt32 | MPOpaqueIDClass |
| typedef OptionBits | MPTaskOptions |
| typedef UInt32 | TaskStorageIndex |
| typedef UInt32 | TaskStorageValue |
| typedef ItemCount | MPSemaphoreCount |
| typedef UInt32 | MPTaskWeight |
| typedef UInt32 | MPEventFlags |
| typedef UInt32 | MPExceptionKind |
| typedef UInt32 | MPTaskStateKind |
| typedef UInt32 | MPPageSizeClass |
Synchronization Services | |
| #define | MPCreateBinarySemaphore(semaphore) MPCreateSemaphore(1, 1, (semaphore)) |
| OSStatus | MPCreateQueue (MPQueueID *queue) |
| OSStatus | MPDeleteQueue (MPQueueID queue) |
| OSStatus | MPNotifyQueue (MPQueueID queue, void *param1, void *param2, void *param3) |
| OSStatus | MPWaitOnQueue (MPQueueID queue, void **param1, void **param2, void **param3, Duration timeout) |
| OSStatus | MPSetQueueReserve (MPQueueID queue, ItemCount count) |
| OSStatus | MPCreateSemaphore (MPSemaphoreCount maximumValue, MPSemaphoreCount initialValue, MPSemaphoreID *semaphore) |
| OSStatus | MPDeleteSemaphore (MPSemaphoreID semaphore) |
| OSStatus | MPSignalSemaphore (MPSemaphoreID semaphore) |
| OSStatus | MPWaitOnSemaphore (MPSemaphoreID semaphore, Duration timeout) |
| OSStatus | MPCreateCriticalRegion (MPCriticalRegionID *criticalRegion) |
| OSStatus | MPDeleteCriticalRegion (MPCriticalRegionID criticalRegion) |
| OSStatus | MPEnterCriticalRegion (MPCriticalRegionID criticalRegion, Duration timeout) |
| OSStatus | MPExitCriticalRegion (MPCriticalRegionID criticalRegion) |
| OSStatus | MPCreateEvent (MPEventID *event) |
| OSStatus | MPDeleteEvent (MPEventID event) |
| OSStatus | MPSetEvent (MPEventID event, MPEventFlags flags) |
| OSStatus | MPWaitForEvent (MPEventID event, MPEventFlags *flags, Duration timeout) |
Remote Call Services | |
| #define | kMPUnresolvedCFragSymbolAddress 0 |
| #define | MPLibraryIsLoaded() |
| enum | { kMPAnyRemoteContext = 0 , kMPOwningProcessRemoteContext = 1 , kMPInterruptRemoteContext = 2 , kMPAsyncInterruptRemoteContext = 3 } |
| typedef UInt8 | MPRemoteContext |
| typedef | CALLBACK_API_C (void *, MPRemoteProcedure)(void *parameter) |
| void * | MPRemoteCall (MPRemoteProcedure remoteProc, void *parameter, MPRemoteContext context) |
| Boolean | _MPIsFullyInitialized (void) |
| typedef | CALLBACK_API_C (Boolean, MPIsFullyInitializedProc)(void) |
Unofficial Services | |
| |
| #define | MPRPC _MPRPC |
| #define | MPTaskIsToolboxSafe _MPTaskIsToolboxSafe |
| LogicalAddress | _MPAllocateSys (ByteCount size) |
| void * | _MPRPC (MPRemoteProcedure remoteProc, void *parameter) |
| Boolean | _MPTaskIsToolboxSafe (MPTaskID task) |
| Boolean | _MPLibraryIsCompatible (const char *versionCString, UInt32 major, UInt32 minor, UInt32 release, UInt32 revision) |
Defunct Services | |
| #define | MPIncludeDefunctServices 1 |
| typedef const char * | format |
| typedef const char va_list | args |
| void | _MPDebugStr (ConstStr255Param msg) |
| StringPtr | _MPStatusPString (OSStatus status) |
| const char * | _MPStatusCString (OSStatus status) |
| typedef | CALLBACK_API_C (void, MPPrintfHandler)(MPTaskID taskID |
| void | _MPInitializePrintf (MPPrintfHandler pfn) |
| void | _MPPrintf (const char *format,...) |
Tasking Services | |
| enum | { kMPCreateTaskTakesAllExceptionsMask = 1L << 1 , kMPCreateTaskNotDebuggableMask = 1L << 2 , kMPCreateTaskValidOptionsMask } |
| typedef | CALLBACK_API_C (OSStatus, TaskProc)(void *parameter) |
| OSStatus | MPCreateTask (TaskProc entryPoint, void *parameter, ByteCount stackSize, MPQueueID notifyQueue, void *terminationParameter1, void *terminationParameter2, MPTaskOptions options, MPTaskID *task) |
| OSStatus | MPTerminateTask (MPTaskID task, OSStatus terminationStatus) |
| OSStatus | MPSetTaskWeight (MPTaskID task, MPTaskWeight weight) |
| Boolean | MPTaskIsPreemptive (MPTaskID taskID) |
| void | MPExit (OSStatus status) |
| void | MPYield (void) |
| MPTaskID | MPCurrentTaskID (void) |
| OSStatus | MPSetTaskType (MPTaskID task, OSType taskType) |
| OSStatus | MPAllocateTaskStorageIndex (TaskStorageIndex *index) |
| OSStatus | MPDeallocateTaskStorageIndex (TaskStorageIndex index) |
| OSStatus | MPSetTaskStorageValue (TaskStorageIndex index, TaskStorageValue value) |
| TaskStorageValue | MPGetTaskStorageValue (TaskStorageIndex index) |
Timer Services | |
| |
| enum | { kMPPreserveTimerIDMask = 1L << 0 , kMPTimeIsDeltaMask = 1L << 1 , kMPTimeIsDurationMask = 1L << 2 } |
| OSStatus | MPDelayUntil (AbsoluteTime *expirationTime) |
| OSStatus | MPDelayUntilSys (AbsoluteTime *expirationTime) |
| OSStatus | MPCreateTimer (MPTimerID *timerID) |
| OSStatus | MPDeleteTimer (MPTimerID timerID) |
| OSStatus | MPSetTimerNotify (MPTimerID timerID, MPOpaqueID anID, void *notifyParam1, void *notifyParam2, void *notifyParam3) |
| OSStatus | MPArmTimer (MPTimerID timerID, AbsoluteTime *expirationTime, OptionBits options) |
| OSStatus | MPCancelTimer (MPTimerID timerID, AbsoluteTime *timeRemaining) |
Memory Services | |
| enum | { kMPMaxAllocSize = 1024L * 1024 * 1024 } |
| enum | { kMPAllocateDefaultAligned = 0 , kMPAllocate8ByteAligned = 3 , kMPAllocate16ByteAligned = 4 , kMPAllocate32ByteAligned = 5 , kMPAllocate1024ByteAligned = 10 , kMPAllocate4096ByteAligned = 12 , kMPAllocateMaxAlignment = 16 , kMPAllocateAltiVecAligned = kMPAllocate16ByteAligned , kMPAllocateVMXAligned , kMPAllocateVMPageAligned = 254 , kMPAllocateInterlockAligned = 255 } |
| enum | { kMPAllocateClearMask = 0x0001 , kMPAllocateGloballyMask , kMPAllocateResidentMask = 0x0004 , kMPAllocateNoGrowthMask = 0x0010 , kMPAllocateNoCreateMask } |
| LogicalAddress | MPAllocateAligned (ByteCount size, UInt8 alignment, OptionBits options) |
| LogicalAddress | MPAllocate (ByteCount size) |
| void | MPFree (LogicalAddress object) |
| ByteCount | MPGetAllocatedBlockSize (LogicalAddress object) |
| void | MPBlockCopy (LogicalAddress source, LogicalAddress destination, ByteCount size) |
| void | MPBlockClear (LogicalAddress address, ByteCount size) |
| void | MPDataToCode (LogicalAddress address, ByteCount size) |
Exception/Debugging Services | |
| enum | { kMPTaskStateRegisters = 0 , kMPTaskStateFPU = 1 , kMPTaskStateVectors = 2 , kMPTaskStateMachine = 3 , kMPTaskState32BitMemoryException , kMPTaskStateTaskInfo = 5 } |
| enum | { kMPTaskPropagate = 0 , kMPTaskResumeStep = 1 , kMPTaskResumeBranch , kMPTaskResumeMask = 0x0000 , kMPTaskPropagateMask , kMPTaskResumeStepMask , kMPTaskResumeBranchMask } |
| enum | { kMPTaskBlocked = 0 , kMPTaskReady = 1 , kMPTaskRunning = 2 } |
| enum | { kMPTaskInfoVersion = 3 } |
| enum | { kMPLowLevelDebugger = 0x00000000 , kMPMidLevelDebugger = 0x10000000 , kMPHighLevelDebugger = 0x20000000 } |
| typedef struct MPTaskInfo | MPTaskInfo |
| typedef UInt32 | MPDebuggerLevel |
| OSStatus | MPSetExceptionHandler (MPTaskID task, MPQueueID exceptionQ) |
| OSStatus | MPDisposeTaskException (MPTaskID task, OptionBits action) |
| OSStatus | MPExtractTaskState (MPTaskID task, MPTaskStateKind kind, void *info) |
| OSStatus | MPSetTaskState (MPTaskID task, MPTaskStateKind kind, void *info) |
| OSStatus | MPThrowException (MPTaskID task, MPExceptionKind kind) |
| OSStatus | MPRegisterDebugger (MPQueueID queue, MPDebuggerLevel level) |
| OSStatus | MPUnregisterDebugger (MPQueueID queue) |
Multiprocessing interfaces.
This is the header file for version 2.4 of the Mac OS multiprocessing support. This version has been totally reimplemented and has significant new services. The main goal of the reimplementation has been to transfer task management into the core operating system to provide much more reliable and more efficient operation, including on single processor machines. The memory management has also been massively improved, it is much faster and wastes much less space. New services include POSIX style per-task storage, timers with millisecond and microsecond resolutions, memory allocation at a specified alignment, and system pageable and RAM resident memory pools. See the MP API documentation for details. The old "DayStar" debugging services (whose names began with an underscore) have been removed from this header. A very few are still implemented for binary compatibility, or in cases where they happened to be exposed inappropriately. (E.g. _MPIsFullyInitialized must be called to see if the MP API is ReallyTruly© usable.) New code and recompiles of old code should avoid use of these defunct services, except for _MPIsFullyInitialized.
The following services are from the original MP API and remain supported in version 2.0: MPProcessors MPCreateTask MPTerminateTask MPCurrentTaskID
MPYield
MPExit
MPCreateQueue
MPDeleteQueue
MPNotifyQueue
MPWaitOnQueue
MPCreateSemaphore
MPCreateBinarySemaphore (In C only, a macro that calls MPCreateSemaphore.)
MPDeleteSemaphore MPSignalSemaphore MPWaitOnSemaphore
MPCreateCriticalRegion
MPDeleteCriticalRegion
MPEnterCriticalRegion
MPExitCriticalRegion
MPAllocate (Deprecated, use MPAllocateAligned for new builds.) MPFree MPBlockCopy MPLibraryIsLoaded (In C only, a macro.)
_MPIsFullyInitialized (See comments about checking for MP API availability.)
The following services are new in version 2.0:
MPProcessorsScheduled
MPSetTaskWeight
MPTaskIsPreemptive
MPAllocateTaskStorageIndex
MPDeallocateTaskStorageIndex
MPSetTaskStorageValue
MPGetTaskStorageValue
MPSetQueueReserve
MPCreateEvent
MPDeleteEvent
MPSetEvent
MPWaitForEvent
UpTime
DurationToAbsolute
AbsoluteToDuration
MPDelayUntil
MPCreateTimer
MPDeleteTimer
MPSetTimerNotify
MPArmTimer
MPCancelTimer
MPSetExceptionHandler
MPThrowException
MPDisposeTaskException
MPExtractTaskState
MPSetTaskState
MPRegisterDebugger
MPUnregisterDebugger
MPAllocateAligned (Preferred over MPAllocate.)
MPGetAllocatedBlockSize
MPBlockClear
MPDataToCode
MPRemoteCall (Preferred over _MPRPC.)
The following services are new in version 2.1:
MPCreateNotification
MPDeleteNotification
MPModifyNotification
MPCauseNotification
MPGetNextTaskID
MPGetNextCpuID
The following services are "unofficial" extensions to the original API. They are not in the multiprocessing API documentation, but were in previous versions of this header. They remain supported version 2.0. They may not be supported in other environments.
_MPRPC (Deprecated, use MPRemoteCall for new builds.)
_MPAllocateSys (Deprecated, use MPAllocateAligned for new builds.)
_MPTaskIsToolboxSafe
_MPLibraryVersion
_MPLibraryIsCompatible
The following services were in previous versions of this header for "debugging only" use. They are NOT implemented in version 2.0. For old builds they can be accessed by defining the symbol MPIncludeDefunctServices to have a nonzero value. _MPInitializePrintf _MPPrintf _MPDebugStr
_MPStatusPString
_MPStatusCString
For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/
| #define MPLibraryIsLoaded | ( | ) |
| anonymous enum |
Values for MPOpaqueIDClass.
| anonymous enum |
For MPArmTimer options
| anonymous enum |
Maximum allocation request size is 1GB.
| anonymous enum |
Values for the alignment parameter to MPAllocateAligned.
| anonymous enum |
Values for the options parameter to MPAllocateAligned.
| anonymous enum |
Values for the TaskStateKind to MPExtractTaskState and MPSetTaskState.
| anonymous enum |
Option bits and numbers for MPDisposeTaskException.
| anonymous enum |
For kMPTaskStateTaskInfo, the task's runState
| LogicalAddress _MPAllocateSys | ( | ByteCount | size | ) |
Availability:
| void _MPDebugStr | ( | ConstStr255Param | msg | ) |
Availability:
| void _MPInitializePrintf | ( | MPPrintfHandler | pfn | ) |
Availability:
| Boolean _MPIsFullyInitialized | ( | void | ) |
Availability:
| Boolean _MPLibraryIsCompatible | ( | const char * | versionCString, |
| UInt32 | major, | ||
| UInt32 | minor, | ||
| UInt32 | release, | ||
| UInt32 | revision | ||
| ) |
Availability:
| void _MPLibraryVersion | ( | const char ** | versionCString, |
| UInt32 * | major, | ||
| UInt32 * | minor, | ||
| UInt32 * | release, | ||
| UInt32 * | revision | ||
| ) |
Availability:
| void _MPPrintf | ( | const char * | format, |
| ... | |||
| ) |
Availability:
| void* _MPRPC | ( | MPRemoteProcedure | remoteProc, |
| void * | parameter | ||
| ) |
Availability:
| const char* _MPStatusCString | ( | OSStatus | status | ) |
Availability:
| StringPtr _MPStatusPString | ( | OSStatus | status | ) |
Availability:
| Boolean _MPTaskIsToolboxSafe | ( | MPTaskID | task | ) |
Availability:
| LogicalAddress MPAllocate | ( | ByteCount | size | ) |
Availability:
| LogicalAddress MPAllocateAligned | ( | ByteCount | size, |
| UInt8 | alignment, | ||
| OptionBits | options | ||
| ) |
| OSStatus MPAllocateTaskStorageIndex | ( | TaskStorageIndex * | index | ) |
Availability:
| OSStatus MPArmTimer | ( | MPTimerID | timerID, |
| AbsoluteTime * | expirationTime, | ||
| OptionBits | options | ||
| ) |
Availability:
| void MPBlockClear | ( | LogicalAddress | address, |
| ByteCount | size | ||
| ) |
Availability:
| void MPBlockCopy | ( | LogicalAddress | source, |
| LogicalAddress | destination, | ||
| ByteCount | size | ||
| ) |
Availability:
| OSStatus MPCancelTimer | ( | MPTimerID | timerID, |
| AbsoluteTime * | timeRemaining | ||
| ) |
Availability:
| OSStatus MPCauseNotification | ( | MPNotificationID | notificationID | ) |
Availability:
| OSStatus MPCreateCriticalRegion | ( | MPCriticalRegionID * | criticalRegion | ) |
Availability:
| OSStatus MPCreateEvent | ( | MPEventID * | event | ) |
Availability:
| OSStatus MPCreateNotification | ( | MPNotificationID * | notificationID | ) |
Availability:
| OSStatus MPCreateQueue | ( | MPQueueID * | queue | ) |
Availability:
| OSStatus MPCreateSemaphore | ( | MPSemaphoreCount | maximumValue, |
| MPSemaphoreCount | initialValue, | ||
| MPSemaphoreID * | semaphore | ||
| ) |
Availability:
| OSStatus MPCreateTask | ( | TaskProc | entryPoint, |
| void * | parameter, | ||
| ByteCount | stackSize, | ||
| MPQueueID | notifyQueue, | ||
| void * | terminationParameter1, | ||
| void * | terminationParameter2, | ||
| MPTaskOptions | options, | ||
| MPTaskID * | task | ||
| ) |
Availability:
| task | can be NULL |
| OSStatus MPCreateTimer | ( | MPTimerID * | timerID | ) |
Availability:
| MPTaskID MPCurrentTaskID | ( | void | ) |
Availability:
| void MPDataToCode | ( | LogicalAddress | address, |
| ByteCount | size | ||
| ) |
Availability:
| OSStatus MPDeallocateTaskStorageIndex | ( | TaskStorageIndex | index | ) |
MPDeallocateTaskStorageIndex()
Availability:
| OSStatus MPDelayUntil | ( | AbsoluteTime * | expirationTime | ) |
Availability:
| OSStatus MPDelayUntilSys | ( | AbsoluteTime * | expirationTime | ) |
Availability:
| OSStatus MPDeleteCriticalRegion | ( | MPCriticalRegionID | criticalRegion | ) |
Availability:
| OSStatus MPDeleteEvent | ( | MPEventID | event | ) |
Availability:
| OSStatus MPDeleteNotification | ( | MPNotificationID | notificationID | ) |
Availability:
| OSStatus MPDeleteQueue | ( | MPQueueID | queue | ) |
Availability:
| OSStatus MPDeleteSemaphore | ( | MPSemaphoreID | semaphore | ) |
Availability:
| OSStatus MPDeleteTimer | ( | MPTimerID | timerID | ) |
Availability:
| OSStatus MPDisposeTaskException | ( | MPTaskID | task, |
| OptionBits | action | ||
| ) |
Availability:
| OSStatus MPEnterCriticalRegion | ( | MPCriticalRegionID | criticalRegion, |
| Duration | timeout | ||
| ) |
Availability:
| void MPExit | ( | OSStatus | status | ) |
Availability:
| OSStatus MPExitCriticalRegion | ( | MPCriticalRegionID | criticalRegion | ) |
Availability:
| OSStatus MPExtractTaskState | ( | MPTaskID | task, |
| MPTaskStateKind | kind, | ||
| void * | info | ||
| ) |
Availability:
| void MPFree | ( | LogicalAddress | object | ) |
Availability:
| ByteCount MPGetAllocatedBlockSize | ( | LogicalAddress | object | ) |
Availability:
| TaskStorageValue MPGetTaskStorageValue | ( | TaskStorageIndex | index | ) |
Availability:
| OSStatus MPModifyNotification | ( | MPNotificationID | notificationID, |
| MPOpaqueID | anID, | ||
| void * | notifyParam1, | ||
| void * | notifyParam2, | ||
| void * | notifyParam3 | ||
| ) |
Availability:
| OSStatus MPModifyNotificationParameters | ( | MPNotificationID | notificationID, |
| MPOpaqueIDClass | kind, | ||
| void * | notifyParam1, | ||
| void * | notifyParam2, | ||
| void * | notifyParam3 | ||
| ) |
MPModifyNotificationParameters()
Availability:
| OSStatus MPNotifyQueue | ( | MPQueueID | queue, |
| void * | param1, | ||
| void * | param2, | ||
| void * | param3 | ||
| ) |
Availability:
| ItemCount MPProcessors | ( | void | ) |
The physical total number of processors.
Availability:
| ItemCount MPProcessorsScheduled | ( | void | ) |
Processors currently in use.
Availability:
| OSStatus MPRegisterDebugger | ( | MPQueueID | queue, |
| MPDebuggerLevel | level | ||
| ) |
Availability:
| void* MPRemoteCall | ( | MPRemoteProcedure | remoteProc, |
| void * | parameter, | ||
| MPRemoteContext | context | ||
| ) |
Availability:
| OSStatus MPSetEvent | ( | MPEventID | event, |
| MPEventFlags | flags | ||
| ) |
Availability:
| OSStatus MPSetExceptionHandler | ( | MPTaskID | task, |
| MPQueueID | exceptionQ | ||
| ) |
Availability:
| OSStatus MPSetQueueReserve | ( | MPQueueID | queue, |
| ItemCount | count | ||
| ) |
Availability:
| OSStatus MPSetTaskState | ( | MPTaskID | task, |
| MPTaskStateKind | kind, | ||
| void * | info | ||
| ) |
Availability:
| OSStatus MPSetTaskStorageValue | ( | TaskStorageIndex | index, |
| TaskStorageValue | value | ||
| ) |
Availability:
| OSStatus MPSetTaskType | ( | MPTaskID | task, |
| OSType | taskType | ||
| ) |
Availability:
| OSStatus MPSetTaskWeight | ( | MPTaskID | task, |
| MPTaskWeight | weight | ||
| ) |
Availability:
| OSStatus MPSetTimerNotify | ( | MPTimerID | timerID, |
| MPOpaqueID | anID, | ||
| void * | notifyParam1, | ||
| void * | notifyParam2, | ||
| void * | notifyParam3 | ||
| ) |
Availability:
| OSStatus MPSignalSemaphore | ( | MPSemaphoreID | semaphore | ) |
Availability:
| Boolean MPTaskIsPreemptive | ( | MPTaskID | taskID | ) |
Availability:
| taskID | May be kInvalidID. |
| OSStatus MPTerminateTask | ( | MPTaskID | task, |
| OSStatus | terminationStatus | ||
| ) |
Availability:
| OSStatus MPThrowException | ( | MPTaskID | task, |
| MPExceptionKind | kind | ||
| ) |
Availability:
| OSStatus MPUnregisterDebugger | ( | MPQueueID | queue | ) |
Availability:
| OSStatus MPWaitForEvent | ( | MPEventID | event, |
| MPEventFlags * | flags, | ||
| Duration | timeout | ||
| ) |
Availability:
| flags | can be NULL |
| OSStatus MPWaitOnQueue | ( | MPQueueID | queue, |
| void ** | param1, | ||
| void ** | param2, | ||
| void ** | param3, | ||
| Duration | timeout | ||
| ) |
Availability:
| param1 | can be NULL |
| param2 | can be NULL |
| param3 | can be NULL |
| OSStatus MPWaitOnSemaphore | ( | MPSemaphoreID | semaphore, |
| Duration | timeout | ||
| ) |
Availability:
| void MPYield | ( | void | ) |
Availability: