Revision history for File-Map 0.71 2023-04-10 14:18:43+02:00 Europe/Amsterdam - Check layers before statting - Split out mmap-compat.c 0.70 2023-04-02 22:27:45+02:00 Europe/Amsterdam - Fix backwards compatability issue 0.69 2023-04-02 22:07:56+02:00 Europe/Amsterdam - Move almost all code from .pm file into .xs file 0.68 2023-03-25 10:32:11+01:00 Europe/Amsterdam - Re-eliminate second magic vtable - Eliminate all CODE blocks in XS 0.67 2020-06-26 00:26:54+02:00 Europe/Amsterdam - Fix unresolved symbol "madvise" on QNX NTO - Fix regression that could cause empty maps to crash upon reuse. 0.66 2018-12-18 16:57:58+01:00 Europe/Amsterdam - Warn when buffer gets truncated 0.65 2017-10-30 13:37:57+01:00 Europe/Amsterdam - Fix mapping into a hash element - Fix compilation warning by giving boot function a proper return type - Take into account sleep 0.1 may sleep a little less 0.64 2015-07-13 12:50:12+02:00 Europe/Amsterdam Fix segfault in empty mappings Skip tainting tests on non-tainting perls 0.63 2014-09-12 18:27:17+02:00 Europe/Amsterdam Fix error message on unknown protect mode 0.62 2014-08-16 14:34:48+02:00 Europe/Amsterdam Reuse perl's reentrant API Skip setlocale on android 0.61 2013-10-04 21:36:19 Europe/Amsterdam Improve 64 bit pointer logic on Windows 0.60 2013-08-11 01:20:06 Europe/Amsterdam Upgrade dependency to Test::Warnings 0.005 0.59 2013-08-09 11:04:45 Europe/Amsterdam Explicitly depend on Test::Warnings 0.004 0.58 2013-08-08 23:18:15 Europe/Amsterdam Converted from Test::Exception to Test::Fatal Converted Test::Warn and Test::NoWarnings to Test::Warnings 0.57 2013-05-25 23:48:07 Europe/Amsterdam Use correct maximum length on 64-bit Windows Re-add perl version suggestions 0.56 2012-12-20 23:49:14 Europe/Amsterdam Don't run threading tests with tainting #82017 Actually use ppport.h #82017 0.55 2012-12-14 14:04:49 Europe/Amsterdam Fix SV_CHECK_THINKFIRST_COW_DROP on 5.8.x 0.54 2012-12-13 23:47:47 Europe/Amsterdam Deal better with copy-on-write Remove Const::Fast dependency 0.53 2012-11-07 11:45:09 Europe/Amsterdam Switch to Sub::Exporter::Progressive Moved protection flags into XS 0.52 2012-07-17 18:10:48 Europe/Bucharest It's called HAS_STRERROR_R and not HAVE_STRERROR_R Make sure pTHX is available for sterror (5.8.7 compatibility) 0.51 2012-06-13 21:06:41 Europe/Amsterdam Remove threads.pm from dependencies Disable pin and unpin on VMS Enable compilation with -Werror=format-security 0.50 2012-05-01 22:37:41 Europe/Amsterdam Fix building on threadless Linux 0.49 2012-04-26 00:06:36 Europe/Amsterdam Revert to old error code on Windows 0.48 2012-04-23 02:27:01 Europe/Amsterdam Fix madvice on old cygwin versions Made strerror_r/strerror_s usage more robust 0.47 2012-04-04 23:17:55 Europe/Amsterdam Restore fileno in sys_map; this fixes #76253: non-anonymous sys_map was useable since e102d034 Switch to using PodWeaver 0.46 2012-02-26 17:59:33 Europe/Amsterdam Fix madvise on cygwin Disable advise on VMS Add mergeable and unmergeable advices for Linux 0.45 2012-02-22 20:17:29 Europe/Amsterdam Replace round() by floor() + 0.5. The former is C99, the latter in C89... Test a bit more leniently on perl 5.8.7 0.44 2012-01-27 14:27:27 Europe/Amsterdam Fixed use of BITS32_MASK on Windows 0.43 2012-01-27 12:42:27 Europe/Amsterdam Upgrade utf8 mappings before marking them as readonly (fixes #74436) 0.42 2012-01-24 23:24:29 Europe/Amsterdam Redone offset handling to be more 32bit compatible Add large file support on Windows 0.41 2012-01-14 13:14:23 Europe/Amsterdam Fixed bug on Windows when using offsets 0.40 2011-10-24 20:41:19 Europe/Amsterdam Made STDOUT test more portable Remove all mentioning of VMS 0.39 2011-10-17 21:57:47 Europe/Amsterdam Converted module to Dist::Zilla Fixed various issues in unit tests 0.38 2011-08-21 Taint memory maps when tainting mode is on (fixes RT#68787) Explicitly test error messages in "C" locale Give better errors on mapping zero length nonfiles Handle SV-flags more intelligently 0.37 2011-05-02 Fixed permission in remap test Silenced warnings on modern Test::More's 0.36 2011-01-26 Fixed tests on Windows and on perl < 5.8.7 0.35 2011-01-16 Added proper support for PerlIO layers, in order to: * reliably detect crlf transformations * detect and handle utf8 layers Use sterror instead of strerror_r when the latter isn't available 0.34 2010-12-04 Skip remap tests as soon as possible, to avoid failures on non-Linux Fixed anonymous mapping on Windows Fixed warning on perl < 5.8.8 0.33 2010-12-01 Made remap actually useful (will now try to move the map if necesary) Added tests for remap Made code C89 compliant again Fixed minor issues with strerror_r Added Test::NoWarnings to tests 0.32 2010-11-09 Skip localization test when localization is not availible Reject scalar string handles 0.31 2010-09-20 Only add MGf_local to mg_flags if MGf_local is defined (5.8.9 and up) Fix memory leak in empty maps (found by Test::Valgrind) 0.30 2010-09-13 Fixed regression in mmap_info allocation on Win32 introduced by 0.28 Replaced Readonly by Const::Fast Replaced Exporter by Sub::Exporter Handle undefined assignment more cleanly Throw an exception on localization Demoted exception on non-binary handles a warning, added tests and documentation for this 0.29 2010-08-25 More fixing related to RT#60710 0.28 2010-08-25 Made truncation warning do the right thing, unbreaking it on 5.13.3+ (fixes RT#60710) Allocate mmap_info in a thread safe manner, preventing a weird class of bugs. Removed threads.pm from dependency list (fixes RT#60708) Fixed length wrap around bug (RT#56643) Added an example: fastsearch Suggest to use 5.12 for less buggy behavior on large strings 0.27 2010-04-25 Allow crlf as a binary layer for now, until a proper check has been developed 0.26 2010-04-20 Fixed RT#56644 (mmap turning ref into map) Fixed RT#56645 (mmap on hash or array entry) Fixed RT#56649 (negative offset segv) Made offset an UV, eleviating RT#56646 a little 0.25 2010-04-15 Fixed regression in unit tests on Windows Minor documentation fixes 0.24 2010-04-12 *Removed almost all prototypes* Made code C89 compliant to support MS VC++ (Jan Dubois) Throw an exception if non-binary PerlIO layers are used. Documentation updates Added tests for unicode Possibly fix a warning on readonly variables 0.23 2010-02-14 Blocked remap from remapping when a variable is shared among threads Disabled madvise on cygwin Fixed a compilation issue wrt VirtualProtect on Win32 Made PROT_NONE test more portable 0.22 2010-01-29 Made the protect unit tests portable to BSD Fixed a portability issue with Win32 0.21 2010-01-09 Added protect() Made mapping empty files writably more user-friendly 0.20 2009-12-18 Added support for pseudo-mapping empty files Hopefully made File::Map Cygwin compatible 0.19 2009-11-08 Handle reference assignment properly Fixed bug in unthreaded builds 0.18 2009-10-25 Fixed previous bug further 0.17 2009-10-25 Fixed bug in direct assignment of numbers Demoted incorrect advice exception to a warning Rewrote constant declarations 0.16 2009-06-17 Fixed compilation bug in die_sys Returned to passthrough Makefile, traditional is too broken 0.15 2009-06-10 Made all functions return void Replaced a magical value with a variable Made error handling more robust Made the compatibility Makefile 'traditional' 0.14 2009-04-12 Module rename from Sys-Mmap-Simple to File-Map Major API break on locking functions 0.13 2009-02-14 API break: renamed conditional functions, lowercased export tags 0.12 2009-02-06 Documentation updates 0.11 2009-02-04 Fixed 2 Bohr bugs in unit tests 0.10 2009-01-30 Added sys_map, for advanced functionality. Fixed regression on Windows 0.09 2009-01-28 Added offset support Fixed memory leak when throwing an exception on Windows Added unit tests for failures 0.08 2009-01-21 Hopefully fixed false negatives in t/20-threads Added license information to all source files 0.07 2009-01-15 API break: Changed last argument of map_handle and map_file from boolean to mode Added second argument to sync for synchronous or asynchronous flushing. Fixed bug that led to linking error on some platforms on older perl versions Refactored derefing Improved documentation markup 0.06 2009-01-12 Made tests work with older versions of threads. Added documentation 0.05 2009-01-09 Fixed previous fix 0.04 2009-01-09 Fixed windows support 0.03_5 2009-01-08 Fixed race conditions Increased portability 0.03_4 2009-01-07 Fixed testing 0.03_3 2009-01-07 Added remap on Linux Added Windows support 0.03_2 2009-01-06 Improved portability Addition of condition variable functionality Documentation updates 0.03_1 2008-12-21 Improved portability 0.02 2008-12-20 Added locked Improved diagnostics. Fixed documentation. 0.01 2008-12-19 First version, released on an unsuspecting world.