一个函数在被调用执行期间(尚未调用结束),由于某种时序又被重复调用,称之为“重入”。根据函数实现的方法可分为“可重入函数”和“不可重入函数”两种。
注意事项
- 定义可重入函数,函数内不能含有全局变量及static变量,不能使用malloc、free
- 信号捕捉函数应设计为可重入函数
- 信号处理程序可以调用的可重入函数可参阅man 7 signal
- 没有包含在上述列表中的函数大多是不可重入的,其原因为:
a) 使用静态数据结构
b) 调用了malloc或free
c) 是标准I/O函数
一个函数在被调用执行期间(尚未调用结束),由于某种时序又被重复调用,称之为“重入”。根据函数实现的方法可分为“可重入函数”和“不可重入函数”两种。
a) 使用静态数据结构
b) 调用了malloc或free
c) 是标准I/O函数