6

I know _r suffix is used to indicate something thread-safe. For example strtok and strtok_r or libmysql.so and libmysql_r.so. But I cannot find anywhere what this actually means ? For example, _t means 'type' and what does _r suffix mean?

Zaffy
  • 16,801
  • 8
  • 50
  • 77

3 Answers3

11

See Chapter A.4.16 Thread-Safety in http://pubs.opengroup.org/onlinepubs/000095399/xrat/xbd_chap04.html:

The suffix "_r" is historical, where the 'r' stood for "reentrant".

halex
  • 16,253
  • 5
  • 58
  • 67
5

The _r suffix stands for reentrant.

Olaf Dietsche
  • 72,253
  • 8
  • 102
  • 198
3

_r means reentrant, even though those functions may not be really reentrant. Those functions just guarantee not to use static storage.

ninjalj
  • 42,493
  • 9
  • 106
  • 148