+# remote_* subs are only used by SearchIdxPart and SearchIdxThread:
+sub remote_commit {
+ my ($self) = @_;
+ print { $self->{w} } "commit\n" or die "failed to write commit: $!";
+}
+
+sub remote_close {
+ my ($self) = @_;
+ my $pid = delete $self->{pid} or die "no process to wait on\n";
+ my $w = delete $self->{w} or die "no pipe to write to\n";
+ print $w "close\n" or die "failed to write to pid:$pid: $!\n";
+ close $w or die "failed to close pipe for pid:$pid: $!\n";
+ waitpid($pid, 0) == $pid or die "remote process did not finish";
+ $? == 0 or die ref($self)." exited with: $?";
+}
+