Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Portable Multithreading--The Signal Stack Trick for User-Space Thread Creation

This paper describes a pragmatic but portable fullback approach for creating and dispatching between the machine contexts of multiple threads of execution on Unix systems that lack a dedicated user-space context switching facility. Such a fallback approach for implementing machine contexts is a vital part of a user-space multithreading environment, if it has to achieve maximum portability across a wide range of Unix flavors. The approach is entirely based on standard Unix system facilities and ANSI-C language features and especially does not require any assembly code or platform specific tricks at all. The most interesting issue is the technique of creating the machine context for threads, which this paper explains in detail. The described approach closely follows the algorithm as implemented by the author for the popular user-space multithreading library GNU Portable Threads (GNU Pth, [25]) which this way quickly gained the status of one of the most portable user-space multithreading libraries.

Ralf S. Engelschall, Technische Universität München (TUM)

BibTeX
@inproceedings {271337,
author = {Ralf S. Engelschall},
title = {Portable {Multithreading--The} Signal Stack Trick for {User-Space} Thread Creation},
booktitle = {2000 USENIX Annual Technical Conference (USENIX ATC 00)},
year = {2000},
address = {San Diego, CA},
url = {https://www.usenix.org/conference/2000-usenix-annual-technical-conference/portable-multithreading-signal-stack-trick-user},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://www.usenix.org/publications/library/proceedings/usenix2000/general/full_papers/engelschall/engelschall.pdf
Paper (HTML): 
http://www.usenix.org/publications/library/proceedings/usenix2000/general/full_papers/engelschall/engelschall_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us