Seems like a bug in Cache::FastMmap. I'll get round to fixing it in my fork (Cache::FastMmap::With::Win32) - that or get co-maint on the proper one.
Fancy writing a me a failing test case against either CPAN'd modules? apv wrote: > I got a small bite by unexpected behavior when setting the storage > source for CP::Session::Store::FastMmap with path_to(). > > I went from using a static string to a path_to representing the > identical path and it broke the storage. It also, I think, fails > silently in the case of CP::Cache::FastMmap. > > It took a minute to realize that path_to is returning a Class::Path > object. This stringifies fine most of the time but I think b/c > FastMmap has underlying C code it doesn't know what to do with the > path_to object (just a guess). > > This is broken silently: > cache => { > backend => { > store => 'FastMmap', > share_file => __PACKAGE__->path_to('tmp', 'another_cache'), > }, > }, > > This is broken fatally: > session => { > storage => __PACKAGE__->path_to('tmp', 'cache_name'), > }, > > While these work fine: > cache => { > backend => { > store => 'FastMmap', > share_file => __PACKAGE__->path_to('tmp', > 'another_cache')->stringify, > }, > }, > session => { > storage => __PACKAGE__->path_to('tmp', 'cache_name')- > >stringify, > }, > > Would it be a good idea to change the > Catalyst::Plugin::Session::FastMmap::setup() to quote sources? > I couldn't easily see where it *might* benefit from a change in > CP::Cache. > > sub setup { > my $self = shift; > ### $self->config->{session}->{storage} ||= '/tmp/session'; > my $storage = $self->config->{session}->{storage} || '/tmp/ > session'; # NEW > $self->config->{session}->{expires} ||= 60 * 60 * 24; > $self->config->{session}->{rewrite} ||= 0; > > $self->_session( > Cache::FastMmap->new( > ### share_file => $self->config->{session}->{storage}, > share_file => "$storage", # NEW > expire_time => $self->config->{session}->{expires} > ) > ); > return $self->NEXT::setup(@_); > } > > -Ashley > > _______________________________________________ > List: Catalyst@lists.rawmode.org > Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/