Любая функция, обладающая магической запоминающей способностью, скорее всего, не будет поточно-ориентированной.Любая функция, которая возвращает указатель, которого вы не ожидаете free()
, очень часто не является поточно-ориентированным.
Многие функции, о которых вам действительно нужно беспокоиться, возвращают char*
или struct foo*
.Хотя это не идеальное правило, оно часто указывает на функцию, которая имеет какое-то статическое хранилище и не является поточно-ориентированной.
strtok()
является простым примером is, и за ним следует strtok_r()
, который является потокобезопасным.Для многих не поточно-ориентированных функций существует function_r()
(r для реентерабельного), который есть.