Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
[wish] Please drop dependency on IO::FDPass #1
The module requires IO::FDPass, but all tests pass when that module is not installed, so it should either be dropped as requirement and made optional, or it should not be required at all.
Many users and system administrators will refuse to install any module maintained by Marc Lehmann, as his service level is too terrible to even consider using whatever he produces. Even if his modules make sense, people will look for alternatives in order to not have to communicate with Marc.
Without IO::FDPass, there are restrictions for using Condvar, Handle, and Queue. These make socket handles and passed to the shared-manager via IO::FDPass if available. Without it, means that the user must construct these before other shared objects and afterwards start the shared-manager process manually. This is a pain and easily forgotten, causing confusion.
In other words, having IO::FDPass allows shared construction of Condvar, Handle, and Queue anytime and including after the shared-manager has been started. It elevates the user-experience in regards to sharing these three modules.
This all came about because a developer constructed a shared MCE::Shared->hash() before MCE::Shared->queue(). Once the shared-manager process is running, it is no longer possible to construct a shared Condvar, Handle, or Queue. Unless, IO::FDPass is available.
Maybe, I've made a mistake in creating Condvar, Handle, and Queue for MCE::Shared. Folks like the shared file capabilities. With IO::FDPass on the box, the following statements are allowed while the shared-manager process is running.
Are their alternatives that work on all the major platforms? Let me pass this wish list to a friend for extra help and guidance on this matter. I'm open to suggestions.
Kind regards, Mario.
From talking to several folks, the opinion is that there is no reason to not use something on CPAN, especially when passing on many smoke machines. IO::FDPass is a great module, one that works as described on multiple platforms. In regards to MCE::Shared, there are more reasons in having IO::FDPass versus not. Trying to work around this seems counter productive IMHO.
The effort made to not have IO::FDPass was purely for running MCE::Shared with some restrictions under Cygwin where IO::FDPass isn't possible. That's a technical reason, not a political one.
I appreciate your feedback. Unfortunately, there are no alternatives at this time.
"Be kind to one another"