With the introduction of atom-garbage collection in version 3.3.0, atoms no longer have live as long as the process. Instead, their lifetime is guaranteed only as long as they are referenced. In the single-threaded version, atom garbage collections are only invoked at the call-port. In the multi-threaded version (see threads, they appear asynchronously, except for the invoking thread.
For dealing with atom garbage collection, two additional functions are provided:
Please note that the following two calls are different with respect to atom garbage collection:
The latter increments the reference count of the atom text, which effectively ensures the atom will never be collected. It is adviced to use the *_chars() or *_nchars() functions whenever applicable.