Re: Direct I/O
От | Dagfinn Ilmari Mannsåker |
---|---|
Тема | Re: Direct I/O |
Дата | |
Msg-id | 87bkjtrzv5.fsf@wibble.ilmari.org обсуждение исходный текст |
Ответ на | Direct I/O (Thomas Munro <thomas.munro@gmail.com>) |
Список | pgsql-hackers |
Thomas Munro <thomas.munro@gmail.com> writes: > I think I have that working OK. Any Perl hackers want to comment on > my use of IO::File (copied from examples on the internet that showed > how to use O_DIRECT)? I am not much of a perl hacker but according to > my package manager, IO/File.pm came with perl itself. Indeed, and it has been since perl 5.003_07, released in 1996. And Fcntl has known about O_DIRECT since perl 5.6.0, released in 2000, so we can safely use both. > And the Fcntl eval trick that I copied from File::stat, and the > perl-critic suppression that requires? […] > + no strict 'refs'; ## no critic (ProhibitNoStrict) > + my $val = eval { &{'Fcntl::O_DIRECT'} }; > + if (defined $val) This trick is only needed in File::stat because it's constructing the symbol name dynamically. And because Fcntl by default exports all the O_* and F_* constants it knows about, we can simply do: if (defined &O_DIRECT) > + { > + use Fcntl qw(O_DIRECT); The `use Fcntl;` above will already have imported this, so this is redundant. - ilmari
В списке pgsql-hackers по дате отправления: