Keywords: onyx

Next: 4.7.2 Restarted interrupted system Up: 4.7 Integration issues Previous: 4.7 Integration issues Contents Index

## 4.7.1 Thread creation

libonyx's garbage collector uses the thd class to suspend and resume all other threads during the mark phase of atomic collection. For this to work, all threads that have any contact with libonyx must be created as suspensible threads using the thd class.

This can cause integration headaches for existing threaded applications, but there is no other portable way to suspend and resume threads. The only alternative is to assure that only one thread is executing in the interpreter and to disable timeout-based (asynchronous) collection.