I did integrate the experimental tied handle interface from the CYGWIN
patch by Rafael Kitover and Reini Urban into Win32API::File for
libwin32-0.26. This patch was needed because CYGWIN doesn't have any
support for OsFHandleOpenFd(), and the tied interface allows to
emulate it.

However, this just doesn't feel right to me. Tye McQueen, the author of
Win32API::File and Win32API::Registry especially created the Win32API::*
modules because he felt strongly that the XS code modules should provide
only a very thin layer on top of the Win32 API calls, and that all
additional Perl magic should be performed in a separate Win32::* module.

An example for this is his Win32::TieRegistry module that builds on top
of Win32API::Registry.

I think the tied file interface should be moved to a separate namespace
to stay with the original philosophy of the Win32API::File module. I
suggest using Win32::TieFile as an obvious name for this. Win32API::File
would then at runtime try to load this module if OsFHandleOpenFd() is
being called on CYGWIN.

I would like to change this rather sooner than later, before people start
to explicitly use the new interface in Win32API::File, even though it
has been marked as experimental.

Thoughts / Comments?

Cheers,
-Jan


Reply via email to