summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reentr.c6
-rw-r--r--reentr.h3
-rw-r--r--reentr.pl2
3 files changed, 10 insertions, 1 deletions
diff --git a/reentr.c b/reentr.c
index 881bd87b7a..493a3b5c62 100644
--- a/reentr.c
+++ b/reentr.c
@@ -127,6 +127,8 @@ Perl_reentrant_size(pTHX) {
#ifdef HAS_SETLOCALE_R
PL_reentrant_buffer->_setlocale_size = REENTRANTSMALLSIZE;
#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_SRANDOM_R
+#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
PL_reentrant_buffer->_strerror_size = REENTRANTSMALLSIZE;
#endif /* HAS_STRERROR_R */
@@ -211,6 +213,8 @@ Perl_reentrant_init(pTHX) {
#ifdef HAS_SETLOCALE_R
New(31338, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size, char);
#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_SRANDOM_R
+#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
New(31338, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size, char);
#endif /* HAS_STRERROR_R */
@@ -284,6 +288,8 @@ Perl_reentrant_free(pTHX) {
#ifdef HAS_SETLOCALE_R
Safefree(PL_reentrant_buffer->_setlocale_buffer);
#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_SRANDOM_R
+#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
Safefree(PL_reentrant_buffer->_strerror_buffer);
#endif /* HAS_STRERROR_R */
diff --git a/reentr.h b/reentr.h
index 6dbfc224bb..5e6e27498d 100644
--- a/reentr.h
+++ b/reentr.h
@@ -748,6 +748,9 @@ typedef struct {
char* _setlocale_buffer;
size_t _setlocale_size;
#endif /* HAS_SETLOCALE_R */
+#ifdef HAS_SRANDOM_R
+ struct random_data _srandom_struct;
+#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
char* _strerror_buffer;
size_t _strerror_size;
diff --git a/reentr.pl b/reentr.pl
index ef18bfaeac..0622a80aa0 100644
--- a/reentr.pl
+++ b/reentr.pl
@@ -469,7 +469,7 @@ EOF
EOF
pushssif $endif;
}
- elsif ($func =~ /^(drand48|gmtime|localtime|random)$/) {
+ elsif ($func =~ /^(drand48|gmtime|localtime|random|srandom)$/) {
pushssif $ifdef;
push @struct, <<EOF;
$seent{$func} _${func}_struct;