Skip to content

Conversation

@erikd
Copy link
Member

@erikd erikd commented Sep 6, 2016

GNU glibc 2.23 and later deprecate readdir_r in favour of plain old
readdir which in some upcoming POSIX standard is going to required to be
re-entrant.

Eventually we want to drop readder_r all together, but want to be
compatible with older unixen which may not have a re-entrant readdir.

Solution is to make systems with known re-entrant readir use that and
use readdir_r whereever we have it and don't know that readdir is
re-entrant.

Closes: #70

@hvr
Copy link
Member

hvr commented Sep 6, 2016

Tbh, I'm not a big fan of having the #ifdef there (I'd rather move it to autoconf-level). But I'm not going to block this PR either if it's blocking GHC dev; I'll move it to Autoconf-phase at some later time though.

PS: don't forget a changelog entry

@erikd
Copy link
Member Author

erikd commented Sep 6, 2016

For the changelog entry, should I start a new section? Should I call it 2.7.2.1?

@hvr
Copy link
Member

hvr commented Sep 6, 2016

@erikd yes, 2.7.2.1 is fine; if it turns out to be wrong it'll be fixed up shortly before release

GNU glibc 2.23 and later deprecate `readdir_r` in favour of plain old
`readdir` which in some upcoming POSIX standard is going to required to be
re-entrant.

Eventually we want to drop `readder_r` all together, but want to be
compatible with older unixen which may not have a re-entrant `readdir`.

Solution is to make systems with *known* re-entrant `readir` use that and
use `readdir_r` whereever we have it and don't *know* that `readdir` is
re-entrant.

Closes: haskell#70
@erikd erikd force-pushed the topic/readdir-deprecated branch from a7a7d5f to 2951cd0 Compare September 6, 2016 21:53
@erikd
Copy link
Member Author

erikd commented Sep 6, 2016

I did look for a way to do it in autoconf, but didn't find any in a google search.

@erikd erikd merged commit d73ba58 into haskell:master Sep 6, 2016
@erikd erikd deleted the topic/readdir-deprecated branch September 6, 2016 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants