Changes From Previous Versions of Multiprocessing Services

Multiprocessing Services 2.1 supports all the functions available with version 2.0. For compatibility between version 2.0 and older versions, see Table C-3, Table C-4, and Table C-5.

Table C-1 lists Multiprocessing Services functions introduced with version 2.1:

Table C-1  New functions introduced with version 2.1

Name

Comments

MPGetNextCpuID

MPGetNextTaskID

MPCreateNotification

For manipulating kernel notifications. See Kernel Notifications for more information about this notification mechanism.

MPDeleteNotification

MPModifyNotification

MPCauseNotification

Table C-2 lists Multiprocessing Services functions that were introduced in version 2.0.

Table C-2  Functions introduced with version 2.0

Name

Comments

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

MPRegisterDebugger

MPAllocateAligned

Preferred over MPAllocate.

MPGetAllocatedBlockSize

MPBlockClear

MPDataToCode

MPRemoteCall

Preferred over _MPRPC

Table C-3 lists the functions that were introduced in version 1.0 that are still supported in version 2.0.

Table C-3  Older functions supported in version 2.0

Name

Comments

MPProcessors

MPCreateTask

MPTerminateTask

MPCurrentTaskID

MPYield

MPExit

MPCreateQueue

MPDeleteQueue

MPNotifyQueue

MPWaitOnQueue

MPCreateSemaphore

MPCreateBinarySemaphore

In C, a macro that calls MPCreateSemaphore.

MPDeleteSemaphore

MPSignalSemaphore

MPWaitOnSemaphore

MPCreateCriticalRegion

MPDeleteCriticalRegion

MPEnterCriticalRegion

MPExitCriticalRegion

MPAllocate

Deprecated. Use MPAllocateAligned instead.

MPFree

MPBlockCopy

MPLibraryIsLoaded

In C, a macro that checks to see if the MPProcessors symbol is resolved.

Table C-4 shows unofficial functions included in earlier header files that remain supported in version 2.0. Note, however, that future versions may not support these functions.

Table C-4  Unofficial functions still supported in version 2.0

Name

Comments

_MPRPC

Deprecated. Use MPRemoteCall instead.

_MPAllocateSys

Deprecated. Use MPAllocateAligned instead.

_MPTaskIsToolboxSafe

_MPLibraryVersion

_MPLibraryIsCompatible

Table C-5 shows functions used for debugging that are no longer supported in version 2.0. You can access these functions for older builds if you #define MPIncludeDefunctServices to be nonzero.

Table C-5  Debugging functions unsupported in version 2.0

Name

Comments

_MPInitializePrintf

_MPPrintf

_MPDebugStr

_MPStatusPString

_MPStatusCString