PMDF Programmer's Reference Manual


Previous Next Contents Index

1.5 Usage from Multi-threaded Processes

With the exception of the PMDFdatabase routines, the PMDF API and underlying routines are re-entrant and thread-safe. Multithreaded routines that will be using the PMDF API must call PMDFsetMutex before calling any other API routines, including PMDFinitialize. The PMDFsetMutex routine provides PMDF with routines to create, lock, unlock, and dispose of thread mutexes. See the description of PMDFsetMutex for further details.

For each PMDF database, a single per-process read context is maintained by PMDF. Because of this, any sequence of chained PMDFdatabaseGetEntry calls must not be interrupted by other threads accessing the same database. Any interruption will disrupt the read state. A chained sequence is one that starts with a PMDF_DATABASE_GET_FIRST or PMDF_DATABASE_GET_FIRST_ROOT access followed by PMDF_DATABASE_GET_NEXT or PMDF_DATABASE_GET_NEXT_ROOT access to find subsequent, related entries.

Note that access to the PMDF queue cache database is thread safe.


Previous Next Contents Index