[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


Part III Digital Proprietary Interfaces: tis Routines Reference

Part III provides detailed descriptions of the thread-independent services (tis) routines that comprise a Digital proprietary interface of DECthreads.

The tis routines are designed to provide efficient tools for thread safety in libraries that do not create threads. The tis interface provides functions that are identical to the most common pthread functions. In a program using threads, the tis functions provide full thread synchronization and memory coherence. But, when run in a program that does not use threads, the same tis calls provide low-overhead "stub" implementations of pthread features.

The tis objects created using this interface are the same as DECthreads core (POSIX 1003.1c) objects.

In a nonthreaded environment, condition variables should never be used to block operations. (For example, the single-threaded implementation of tis_cond_wait cannot block. If it did, no other thread would be running to wake the blocking thread.)

When threads are present, the guidelines for using the pthread routines apply to the use of the corresponding tis routine.

Note that errno is not used by the tis routines. Like the pthread routines, the tis routines return integer values indicating the type of error.