reentrant functions

Bernd Schmidt bernds_cb1 at t-online.de
Sun Jun 8 12:18:03 UTC 2008


Bernhard Fischer wrote:
> Just to make sure i understand correctly:
> 
> - If a reentrant function exists then you want the non-reentrant func to
>   be optional (via a central knob).
> - If non-reentrant funcs are off then they are aliased to their
>   reentrant counterpart.

No, they have different calling conventions, so they'd just not exist.

> What about the reverse, i.e. dropping *_r()?

One of the gains from dropping the non-reentrant ones comes from 
eliminating static arrays.  In current uClibc, these static arrays are 
eliminated by the use of uc_malloc, which has the drawback that all of 
these functions can suddenly call exit, contrary to their documentation. 
  I'd like to get that reverted.

> Think about no threads, i don't really need *_r() at all there, i
> suppose.

It would be better if the caller provided the buffers, so that they 
don't have to exist in uClibc.  It's the better interface.


Bernd
-- 
This footer brought to you by insane German lawmakers.
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif



More information about the uClibc mailing list