summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/File-Glob/Glob.pm2
-rw-r--r--ext/File-Glob/Glob.xs6
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/File-Glob/Glob.pm b/ext/File-Glob/Glob.pm
index e228a189dd..dc0b3ac208 100644
--- a/ext/File-Glob/Glob.pm
+++ b/ext/File-Glob/Glob.pm
@@ -33,7 +33,7 @@ $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}];
our @EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
-our $VERSION = '1.38';
+our $VERSION = '1.39';
sub import {
require Exporter;
diff --git a/ext/File-Glob/Glob.xs b/ext/File-Glob/Glob.xs
index 0a4b568333..a65337e979 100644
--- a/ext/File-Glob/Glob.xs
+++ b/ext/File-Glob/Glob.xs
@@ -451,11 +451,13 @@ BOOT:
{
dMY_CXT;
MY_CXT.x_GLOB_ENTRIES = NULL;
- MY_CXT.x_GLOB_OLD_OPHOOK = PL_opfreehook;
#ifdef USE_ITHREADS
MY_CXT.interp = aTHX;
#endif
- PL_opfreehook = glob_ophook;
+ if(!MY_CXT.x_GLOB_OLD_OPHOOK) {
+ MY_CXT.x_GLOB_OLD_OPHOOK = PL_opfreehook;
+ PL_opfreehook = glob_ophook;
+ }
}
}