carp "mount needs 'dsn' to connect to (e.g. dsn => 'DBI:Pg:dbname=test')" unless ($arg->{'dsn'});
carp "mount needs 'mount' as mountpoint" unless ($arg->{'mount'});
+ # save (some) arguments in self
+ $self->{$_} = $arg->{$_} foreach (qw(mount));
+
foreach (qw(filenames read update)) {
carp "mount needs '$_' SQL" unless ($arg->{$_});
}
);
} );
+ confess "Fuse::main failed" if (! $self->{'proc'}->poll);
+
$self ? return $self : return undef;
};
my $self = shift;
confess "no process running?" unless ($self->{'proc'});
- $self->{'proc'}->kill;
+
+ system "fusermount -u ".$self->{'mount'} || croak "umount error: $!";
+
+ if ($self->{'proc'}->poll) {
+ $self->{'proc'}->kill;
+ return 1 if (! $self->{'proc'}->poll);
+ } else {
+ return 1;
+ }
}
ok($mnt, "mount");
-diag "mounted sleeping for 5 sec";
-system "ls -lR /mnt2";
-sleep(5);
+diag "press enter to continue";
+my $foo = <STDIN>;
ok($mnt->umount,"umount");
+