On Wed, Sep 21, 2016 at 2:48 PM, William Roberts <[email protected]> wrote: > On Sep 21, 2016 13:16, "Stephen Smalley" <[email protected]> wrote: >> >> On 09/21/2016 04:11 PM, William Roberts wrote: >> > On Sep 21, 2016 13:06, "Stephen Smalley" <[email protected] >> > <mailto:[email protected]>> wrote: >> >> >> >> On 09/21/2016 03:57 PM, Roberts, William C wrote: >> >> > Correction, it’s just fgets_unlocked, it appears to support the >> >> > others. >> >> >> >> Seems like a bug in bionic, but we can work around it by: >> >> #ifdef ANDROID >> >> #define fgets_unlocked(x) fgets(x) >> >> #endif >> >> >> >> in selinux_internal.h or some similar internal header. >> >> >> >> It avoids unnecessary locking overheads when dealing with FILE >> >> descriptors that are only used locally and guaranteed to not be shared >> >> by multiple threads. >> > >> > I know what it does and why, but was it really that necessary? >> >> The patch came from Red Hat. Anyway, we use the _unlocked functions >> throughout, and the fact that bionic supports all of them except that >> one function suggests that we should just use a fix like the above >> rather than dropping it. > > I'm not arguing the fix, just wondering if it was blazingly fast. I didn't > find the definition or a define in bionic for fgets_unlocked, but when I set > _GNUC define, it seemed to build OK.
That's an incorrect statement, that was only for the host built against glibc where _GNU_SOURCE needs to be defined. For Android, yes the simplest way is as you suggest. -- Respectfully, William C Roberts _______________________________________________ Seandroid-list mailing list [email protected] To unsubscribe, send email to [email protected]. To get help, send an email containing "help" to [email protected].
