summaryrefslogtreecommitdiff
path: root/dist/IO
diff options
context:
space:
mode:
authorTomasz Konojacki <me@xenu.pl>2021-04-05 15:39:25 +0200
committerxenu <me@xenu.pl>2021-05-21 06:04:59 +0200
commit52f06022a18bb154b7c77169e3e8bdaeee5dcdac (patch)
tree6e02efd29317de7ff945d2719a9e8f35a2b747de /dist/IO
parent77d67a71fd390db0379d24f395ddb1a7ac97d0e7 (diff)
downloadperl-52f06022a18bb154b7c77169e3e8bdaeee5dcdac.tar.gz
IO: implement sync() for win32
Diffstat (limited to 'dist/IO')
-rw-r--r--dist/IO/IO.pm2
-rw-r--r--dist/IO/IO.xs6
-rw-r--r--dist/IO/lib/IO/Dir.pm2
-rw-r--r--dist/IO/lib/IO/File.pm2
-rw-r--r--dist/IO/lib/IO/Handle.pm2
-rw-r--r--dist/IO/lib/IO/Pipe.pm2
-rw-r--r--dist/IO/lib/IO/Poll.pm2
-rw-r--r--dist/IO/lib/IO/Seekable.pm2
-rw-r--r--dist/IO/lib/IO/Select.pm2
-rw-r--r--dist/IO/lib/IO/Socket.pm2
-rw-r--r--dist/IO/lib/IO/Socket/INET.pm2
-rw-r--r--dist/IO/lib/IO/Socket/UNIX.pm2
12 files changed, 16 insertions, 12 deletions
diff --git a/dist/IO/IO.pm b/dist/IO/IO.pm
index 8c094f802e..b7e1646f84 100644
--- a/dist/IO/IO.pm
+++ b/dist/IO/IO.pm
@@ -7,7 +7,7 @@ use Carp;
use strict;
use warnings;
-our $VERSION = "1.46";
+our $VERSION = "1.47";
XSLoader::load 'IO', $VERSION;
sub import {
diff --git a/dist/IO/IO.xs b/dist/IO/IO.xs
index f0b161cd01..b1227f003c 100644
--- a/dist/IO/IO.xs
+++ b/dist/IO/IO.xs
@@ -528,14 +528,18 @@ fsync(arg)
PREINIT:
OutputStream handle = NULL;
CODE:
-#ifdef HAS_FSYNC
+#if defined(HAS_FSYNC) || defined(_WIN32)
handle = IoOFP(sv_2io(arg));
if (!handle)
handle = IoIFP(sv_2io(arg));
if (handle) {
int fd = PerlIO_fileno(handle);
if (fd >= 0) {
+# ifdef _WIN32
+ RETVAL = _commit(fd);
+# else
RETVAL = fsync(fd);
+# endif
} else {
RETVAL = -1;
errno = EBADF;
diff --git a/dist/IO/lib/IO/Dir.pm b/dist/IO/lib/IO/Dir.pm
index 3cfd5f3b48..ec9c4cd6d8 100644
--- a/dist/IO/lib/IO/Dir.pm
+++ b/dist/IO/lib/IO/Dir.pm
@@ -18,7 +18,7 @@ use File::stat;
use File::Spec;
our @ISA = qw(Tie::Hash Exporter);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @EXPORT_OK = qw(DIR_UNLINK);
diff --git a/dist/IO/lib/IO/File.pm b/dist/IO/lib/IO/File.pm
index e2accf7d2a..748f0d3436 100644
--- a/dist/IO/lib/IO/File.pm
+++ b/dist/IO/lib/IO/File.pm
@@ -135,7 +135,7 @@ require Exporter;
our @ISA = qw(IO::Handle IO::Seekable Exporter);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @EXPORT = @IO::Seekable::EXPORT;
diff --git a/dist/IO/lib/IO/Handle.pm b/dist/IO/lib/IO/Handle.pm
index 2010bb831e..da1c8cfdbe 100644
--- a/dist/IO/lib/IO/Handle.pm
+++ b/dist/IO/lib/IO/Handle.pm
@@ -270,7 +270,7 @@ use IO (); # Load the XS module
require Exporter;
our @ISA = qw(Exporter);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @EXPORT_OK = qw(
autoflush
diff --git a/dist/IO/lib/IO/Pipe.pm b/dist/IO/lib/IO/Pipe.pm
index 7b195ca643..1fcc0077cc 100644
--- a/dist/IO/lib/IO/Pipe.pm
+++ b/dist/IO/lib/IO/Pipe.pm
@@ -13,7 +13,7 @@ use strict;
use Carp;
use Symbol;
-our $VERSION = "1.46";
+our $VERSION = "1.47";
sub new {
my $type = shift;
diff --git a/dist/IO/lib/IO/Poll.pm b/dist/IO/lib/IO/Poll.pm
index 20f630bb73..3b069e8859 100644
--- a/dist/IO/lib/IO/Poll.pm
+++ b/dist/IO/lib/IO/Poll.pm
@@ -12,7 +12,7 @@ use IO::Handle;
use Exporter ();
our @ISA = qw(Exporter);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @EXPORT = qw( POLLIN
POLLOUT
diff --git a/dist/IO/lib/IO/Seekable.pm b/dist/IO/lib/IO/Seekable.pm
index 5d44d7af07..4e009976d3 100644
--- a/dist/IO/lib/IO/Seekable.pm
+++ b/dist/IO/lib/IO/Seekable.pm
@@ -106,7 +106,7 @@ require Exporter;
our @EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END);
our @ISA = qw(Exporter);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
sub seek {
@_ == 3 or croak 'usage: $io->seek(POS, WHENCE)';
diff --git a/dist/IO/lib/IO/Select.pm b/dist/IO/lib/IO/Select.pm
index fe07f3b2e6..d44889e54a 100644
--- a/dist/IO/lib/IO/Select.pm
+++ b/dist/IO/lib/IO/Select.pm
@@ -10,7 +10,7 @@ use strict;
use warnings::register;
require Exporter;
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @ISA = qw(Exporter); # This is only so we can do version checking
diff --git a/dist/IO/lib/IO/Socket.pm b/dist/IO/lib/IO/Socket.pm
index b7cdf06d3a..bf8ed696f7 100644
--- a/dist/IO/lib/IO/Socket.pm
+++ b/dist/IO/lib/IO/Socket.pm
@@ -23,7 +23,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
our @ISA = qw(IO::Handle);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
our @EXPORT_OK = qw(sockatmark);
diff --git a/dist/IO/lib/IO/Socket/INET.pm b/dist/IO/lib/IO/Socket/INET.pm
index 5b76c2e3f5..605458ac50 100644
--- a/dist/IO/lib/IO/Socket/INET.pm
+++ b/dist/IO/lib/IO/Socket/INET.pm
@@ -14,7 +14,7 @@ use Exporter;
use Errno;
our @ISA = qw(IO::Socket);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
diff --git a/dist/IO/lib/IO/Socket/UNIX.pm b/dist/IO/lib/IO/Socket/UNIX.pm
index a93456c052..5933c9fd4d 100644
--- a/dist/IO/lib/IO/Socket/UNIX.pm
+++ b/dist/IO/lib/IO/Socket/UNIX.pm
@@ -11,7 +11,7 @@ use IO::Socket;
use Carp;
our @ISA = qw(IO::Socket);
-our $VERSION = "1.46";
+our $VERSION = "1.47";
IO::Socket::UNIX->register_domain( AF_UNIX );