This module looks promising. Thanks for providing the source - FYI - it compiled, installed and tested flawlessly on my XP machine using the dot net compiler.
I'm sure you are probably already considering providing an object-interface for this module - just in case you are not, let me be the first to whine on this subject... or even better - if I find time, I'll try to write an OO wrapper for this module. Let me know if your or anyone else has already started on such a persuit.
The Interface I'm thinking of would look like this:
my $MM = Win32::MMF->new("My (optional) Unique Namespace name");
# If unspecified, a new GUID would be used for namespace
# Fork the child here -- Parent & Child share $MM.
# In Parent ----
my $view = $MM->CreateView("Optional Unique Name");
my $err=$view->lock([$TIMEOUT]); # Optional, Prevent others from Writi
+ng
$view->write($Some_Scalar_Or_Ref,[$lock,$TIMEOUT]);
$view->unlock();
$view->close();
$MM->close();
#--- In Child --
my $view = $MM->GetView("Optional Unique Name", \&$Optional_CallBack_R
+ef);
# Line above blocks if callback is not specified
my $Data = $view->read();
$view->close();
$MM->close();
"When you are faced with a dilemma, might as well make dilemmanade.
"