Просмотр исходного кода

only destroy if we're on the same pid

if a fork happens in a script or in any module used by the script
then the object is destroyed and quit is called.

This will keep quit from being called from another forked process.
Gordon Child 14 лет назад
Родитель
Сommit
1b287bd6e0
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      lib/Selenium/Remote/Driver.pm

+ 2 - 0
lib/Selenium/Remote/Driver.pm

@@ -195,6 +195,7 @@ sub new {
         remote_conn        => undef,
         commands           => $ress,
         auto_close         => 1, # by default we will close remote session on DESTROY
+        pid                => $$,
     };
     bless $self, $class or die "Can't bless $class: $!";
 
@@ -225,6 +226,7 @@ sub new {
 
 sub DESTROY {
     my ($self) = @_;
+    return if $$ != $self->{pid};
     $self->quit() if ($self->{auto_close} && defined $self->{session_id});
 }