Re: $SIG{INT} tampering during DBI->connect on Oracle

Charles Jardine <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On 02/11/10 18:49, Brian Phillips wrote:
> Hello - I recently discovered that when we do a DBI->connect to an Oracle
> database, the process no longer responds to SIGINT signals.

I simply do not see this effect. The following program:

  #!/usr/local/bin/perl -w
  use DBI;
  my $dbh = DBI->connect("dbi:Oracle:", oralogin) or die "Failed\n";
  $| = 1;
  sleep 1, print('.') while 1;

prints dots every second until I press ^C, at which point it terminates.
This variant:

  #!/usr/local/bin/perl -w
  use DBI;
  $SIG{INT} = sub { die "Interrupted\n" };
  my $dbh = DBI->connect("dbi:Oracle:", oralogin) or die "Failed\n";
  $| = 1;
  sleep 1, print('.') while 1;

writes "Interrupted\n" when I press ^C.

There must be something different about your environment. For reference, I
have Oracle 10.2.0.4.6, Perl 5.10.1, DBI 1.609, DBD::Oracle 1.24. The
OS is SLES 10 SP 3. It makes no difference whether I use the bequeather
or a TNS connection.

-- 
Charles Jardine - Computing Service, University of Cambridge
[email protected]    Tel: +44 1223 334506, Fax: +44 1223 334679
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.