1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
Revision history for POSIX::2008.
0.26 2025-07-25
- _readv50c(): Use SVt_RV for sv_upgrade() w/ Perl < 5.12 to please DEBUGGING.
- poll():
* Initialize events with 0 for placeholders.
* Safeguard against nasty threads when writing back revents.
- clock_nanosleep(), clock_[gs]ettime(), nanosleep():
* Better float detection.
* Invoke SvGETMAGIC() on SV* argument.
- timer_create(): Invoke SvGETMAGIC() on SV* argument.
- POD "fixes" (POD doesn't have forced line breaks ...).
0.25 2025-07-12
- Updated ppport.h to version 3.73.
- Added poll(), psignal(), strsignal(), statvfs().
- Added :poll export tag.
- Added TIMER_ABSTIME to the :clock export tag.
- Added t/07_poll.t.
- Fixed skip count in t/03_rw.t.
- Fixed clock_getcpuclockid() to set errno on error.
- clock_getcpuclockid() defaults to pid=0 instead of $$, saving a redundant
call to PerlProc_getpid().
- clock_getres(), clock_gettime() return floating seconds in scalar context.
- clock_settime(), clock_nanosleep(), nanosleep() also accept floating seconds.
- POD updates.
0.24 2024-06-14
- Updated ppport.h to version 3.72.
- Fixed potential env buffer overflow in _execve50c().
- Flush I/O buffers before calling fexecve()/execveat().
- Support magic function arguments.
- Support arrayref argument for strptime() (addresses foreign RT#66519).
- Call readlinkat() for readlink() if available to avoid a branch.
- Don't write to SvPV(sv)[SvLEN(sv)-1], otherwise Perl >= 5.20 tends to
segfault because it abuses this char for COW counting. [facepalm.gif]
- Adjusted some prototypes: clock_nanosleep($$@), clock_settime($@),
futimens($@), nanosleep(@), setitimer($@), timer_settime($$@),
utimensat($$;$@).
- POD updates.
0.23 2024-01-27
- t/06_exec.t: Skip fexecve test if we can't sysopen() the Perl executable.
- Removed silly fileno int range check added in 0.22 because AT_FDCWD is
0xffd19553 on Solaris.
0.22 2024-01-26
- Fixed confstr() error handling.
- Fixed getutx*() out-of-bounds read from utmpx string buffers.
- Fixed ptsname() and ttyname() to also accept file handles.
- Fixed read*() and pread*() to not overwrite read-only buffers.
- Fixed catclose(), dlclose(), killpg(), set*gid(), set*uid(), sig*()
to return "0 but true" on success and undef on error as documented.
- Forbid negative byte counts in read*(), pread*(), write(), pwrite().
- Added home-grown non-standard removeat().
- Added creat(), execveat(), fexecve(), raise().
- Added pathconf(), sysconf() and tons of _CS_, _PC_, _SC_ constants.
- Added :confstr, :pathconf, :sysconf export tags.
- Added some non-standard constants.
- Added t/06_exec.t.
- Made timer_create()'s "signal" argument optional.
- Made lchown(), log10(), nexttoward(), posix_f*() exportable.
- Bless returned file handles into IO::Dir/File to make handle methods work.
- t/02_fs.t: Skip dev/ino/rdev stat() checks on Windows w/ Perl 5.34+ to
fake cpantesters green lights (see perl5340delta).
- POD updates.
0.21 2023-11-16
- Replaced FMT_UINT macro by function.
- Replaced safesysfree() by free() in realpath() (closes RT#149058).
- Added non-standard renameat2(), RENAME_* constants.
- POD fixes.
0.20 2023-07-14
- t/02_fs.t: Added work-around for bugs in CORE::stat().
- Pimped abs().
- Fixed nice() error handling.
- Added PRIO_*, FE_*, RWF_*, SEEK_DATA and SEEK_HOLE constants.
- Added some non-standard open() flags.
- Added preadv2(), pwritev2().
- Added remquo().
- Added feclearexcept(), feraiseexcept(), fetestexcept().
- Added isgreaterequal(), isless(), islessequal(), islessgreater(),
isunordered().
- Added fenv_h export tag.
- POD improvements.
0.19 2023-07-07
- Updated ppport.h to version 3.71
- Replaced av_len()+1 by av_count() in (p)readv() and (p)writev().
- Removed "extern int getdate_err" because it's already in time.h.
- Try to get a green light from dubious cpantesters reports for old Perls.
- Added LICENSE to WriteMakefile().
- Added stat_h export tag and some constants.
- Added exp(), isascii(), rmdir(), setsid(), sin(), ttyname().
- Made casin(), isalnum(), log() exportable.
- chdir(), chmod(), chown(), truncate() and stat() now also accept
a file handle or a file descriptor.
- Deprecated atol(), atoll(), ldiv(), fchdir(), fchmod(), fchown(), ftruncate().
- Pimped atoi(), div(), lround().
- Figure out what's available by compiling some C code.
- Added some tests.
- Small POD fixes.
0.18 2023-06-01
- Updated ppport.h to version 3.68
- Fixed size checking in readlink().
- Fixed error handling of psx_fileno():
Check for -1 instead of < 0 to make AT_FDCWD work (which is negative).
- Disabled -Wdeprecated-declarations for sig*().
- Makefile.PL now creates const-c.inc and const-xs.inc dynamically.
- openat() can now optionally return a handle when AT_FDCWD is used.
- Added realpath().
- Added openat2() (non-POSIX).
- POD improvements.
0.17 2021-03-09
- Updated ppport.h to version 3.62 (closes RT#127900)
- pread()/pwrite(): Use %lld in warn() format string (closes RT#127902)
- Some minor cosmetics.
0.16 2017-09-15
- Added timer_create(), timer_delete(), timer_gettime(), timer_getoverrun(), timer_settime().
- Added close() (closes RT#123054).
0.15 2017-09-10
- Fixed a POD error.
- Really fake green lights on cygwin.
0.14 2017-09-09
- Added posix_fadvise() and posix_fallocate().
- Added missing constants from fcntl.h.
- POD update.
- Fake some green lights on cygwin.
0.13 2017-09-08
- pread/pwrite argument order is now (count, offset) instead of (offset, count).
- Added readv(), preadv().
- Added strptime() to the list of exportable functions.
0.12 2017-09-03
- Fixed missing semicolon in #if branch of nearbyint().
- Added some CLOCK_ constants.
- Added const-c.inc, const-xs.c.
0.11 2017-09-02
- Don't call clog() if you mean cexp() ...
0.10 2017-09-02
- Added more detailed checks for availability of complex functions.
- NetBSD seems a bit special about struct stat.
0.09 2017-09-01
- Added some cheats to make some red lights turn to green on cpantesters.
- Fixed a POD typo.
0.08 2017-08-31
- Added writev(), pwritev(), lchown(), lround(), clock(), access().
0.07 2017-08-27
- Call croak_xs_usage() only if available.
- Really let all I/O functions accept file handles.
- Try to reduce compiler errors on non-Linux systems.
0.06 2017-08-26
- Fixed an fd leak in fdopendir() and openat() (see Ye Olde Perl #59268).
XS docs are really poor.
- Cleaned up openat().
- Dropped Perl 5.10 dependency.
0.05 2017-08-25
- Added fdopen() and fdopendir().
- All I/O functions taking file descriptors now accept file handles as well.
- Fixed pread() to truncate the buffer if the data doesn't exceed it.
0.04 2015-05-25
- Fixed _readlink50c (#96644).
0.03 2013-09-15
- check SvGROW for NULL
- use shorter mPUSH macros
0.02 2013-09-14
- added strptime()
0.01 2013-09-13
- initial version
|