SMP Design

From AlsaProject
Revision as of 14:07, 13 November 2012 by Perex (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The SMP / multithread design has several levels in the ALSA project codebase. The kernel drivers are fully SMP / thread safe. The alsa-lib was designed to allow grouping of commands for returned handle to optimize pthread locking. The snd_*_open() calls are thread safe. The use of returned handles must be serialized in the application using own locking scheme. Standalone (not handle related) functions in alsa-lib should be fully thread safe.

If you find a bug in kernel or alsa-lib which breaks these rules, please, let us know.