>PERL_DBI_DEBUG=9 would generate a different pile of information.
 
This is the output for the first disconnection using PERL_DBI_DEBUG=9 :
 
///////////////////////////////////////////////////////
 Disconnecting ...             ##### <-- from my script
        -->> DBD::Informix::dbd_ix_db_disconnect()
dbd_ix_db_disconnect -- delete statements
-->> DBD::Informix::dbd_ix_link_delchain()
        -->> DBD::Informix::::dbd_st_destroyer()
-->> del_statement() 0x0026B048
-->> del_statement() state NoMoreData
-->> del_statement() state Opened
del_statement() CLOSE cursor c_000000000
-->> del_statement() state Declared
del_statement() FREE cursor c_000000000
-->> del_statement() state Described
-->> del_statement() state Allocated
dbd_ix_st_deallocate() DEALLOCATE DESCRIPTOR d_000000000
-->> del_statement() state Prepared
del_statement() FREE statement p_000000000
-->> del_statement() state Unused
<<-- del_statement() 0x0026B048
        <<-- DBD::Informix::::dbd_st_destroyer()
<<-- DBD::Informix::dbd_ix_link_delchain()
dbd_ix_db_disconnect -- statements deleted
DISCONNECT (x_000000000)
DISCONNECT -- STATUS 0
        <<-- DBD::Informix::dbd_ix_db_disconnect()
    <- disconnect= 1 at tmp line 33
    -> DBI->connect(DBI:Informix:dimonex, , ****)
    >> connect     DISPATCH (DBI::dr=HASH(0x1186d0) rc2/4 @5 g0 ima1 pid#28768) at /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris/DBI.pm line 582
    -> connect for DBD::Informix::dr (DBI::dr=HASH(0x1186d0)~0x1b4034 'dimonex' '' **** HASH(0x261f54))
    New DBI::db (for DBD::Informix::db, parent=DBI::dr=HASH(0x1b4034), id=)
    dbih_setup_handle(DBI::db=HASH(0x1214c0)=>DBI::db=HASH(0x261fcc), DBD::Informix::db, 1214cc, Null!)
    dbih_make_com(DBI::dr=HASH(0x1b4034), 23e2b8, DBD::Informix::db, 288, 0) thr#0
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), Err, DBI::dr=HASH(0x1b4034)) SCALAR(0x121430) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), State, DBI::dr=HASH(0x1b4034)) SCALAR(0x1213a0) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), Errstr, DBI::dr=HASH(0x1b4034)) SCALAR(0x12140c) (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), TraceLevel, DBI::dr=HASH(0x1b4034)) 0 (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), FetchHashKeyName, DBI::dr=HASH(0x1b4034)) 'NAME' (already defined)
    dbih_setup_attrib(DBI::db=HASH(0x261fcc), HandleError, DBI::dr=HASH(0x1b4034)) undef (not defined)
Disconnected <br> <br> <br>      ##### <-- from my script
///////////////////////////////////////////////////////////////////////////////////////
 
Is it my imagination or is it setting up the next connection before finishing the current one. How is this possible ??
 
 
 
>And running truss or its equivalent on perl would also potentially be informative.
 
truss -f gives the following output
 
//////////////////////////////////////////////////////
    >> disconnect  DISPATCH (DBI::db=HASH(0x1b3ff8) rc1/1 @1 g0 imac01 pid#28768) at tmp line 33
    -> disconnect for DBD::Informix::db (DBI::db=HASH(0x1b3ff8)~0x1213b8)
 Disconnecting ...
        -->> DBD::Informix::dbd_ix_db_disconnect()
dbd_ix_db_disconnect -- delete statements
-->> DBD::Informix::dbd_ix_link_delchain()
29365:  write(5, "\0\0\0\f", 4)                         = 4
29365:  write(5, " ACF86\0\v13 +A1", 8)                 = 8
29365:  write(5, "\004\0\0\0\t10\0\0\0\0\f", 12)        = 12
29365:  semop(196609, 0xFFBEF128, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\002 <", 4)                         = 4
29365:  write(5, " ACF86\0\v139607", 8)                 = 8
29365:  write(5, "\00E\0\0\0\0\080 s y s m".., 572)     = 572
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\0\b", 4)                         = 4
29365:  write(5, " ACF86\0\v1411A1", 8)                 = 8
29365:  write(5, "\004\0\0\0\n\0\f", 8)                 = 8
29365:  semop(196609, 0xFFBEF068, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\0\002", 4)                         = 4
29365:  write(5, " ACF86\0\v14 j <", 8)                 = 8
29365:  write(5, "\0\f", 2)                             = 2
 Disconnecting ...
29365:  write(1, "   D i s c o n n e c t i".., 20)      = 20
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\0\b", 4)                         = 4
29365:  write(5, " ACF86\0\v14C3FC", 8)                 = 8
29365:  write(5, "\004\0\0\0\n\0\f", 8)                 = 8
29365:  semop(196609, 0xFFBEF178, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\0\002", 4)                         = 4
29365:  write(5, " ACF86\0\v15147F", 8)                 = 8
29365:  write(5, "\0\f", 2)                             = 2
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\0\b", 4)                         = 4
29365:  write(5, " ACF86\0\v15 Z u", 8)                 = 8
29365:  write(5, "\004\0\0\0\v\0\f", 8)                 = 8
29365:  semop(196609, 0xFFBEF150, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\0\002", 4)                         = 4
29365:  write(5, " ACF86\0\v15B2EE", 8)                 = 8
29365:  write(5, "\0\f", 2)                             = 2
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\004", 4)                         = 4
29365:  write(5, " ACF86\0\v15F79D", 8)                 = 8
29365:  write(5, "\0 T\0\f", 4)                         = 4
29365:  semop(196609, 0xFFBEEE50, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\0\006", 4)                         = 4
29365:  write(5, " ACF86\0\v16 N H", 8)                 = 8
29365:  write(5, "\0 T\0\0\0\f", 6)                     = 6
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\002", 4)                         = 4
29365:  write(5, " ACF86\0\v1689FC", 8)                 = 8
29365:  write(5, "\0 8", 2)                             = 2
29365:  semop(196609, 0xFFBEEEB0, 1)                    = 0
29365:  getpid()                                        = 29365 [29364]
29365:  write(5, " S C", 2)                             = 2
29365:  write(5, "\0\0\002", 4)                         = 4
29365:  write(5, " ACF86\0\v16EAFB", 8)                 = 8
29365:  write(5, "\0 8", 2)                             = 2
29365:  semop(196609, 0xFFBEEC80, 1)                    = 0
29365:  semop(196609, 0xFF0A24E0, 1)                    = 0
29365:  alarm(0)                                        = 0
29365:  sigaction(SIGALRM, 0xFFBEEB98, 0xFFBEEC48)      = 0
29365:  sigfillset(0xFF23C824)                          = 0
29365:  sigprocmask(SIG_BLOCK, 0xFFBEEC38, 0xFFBEEC28)  = 0
29365:  alarm(1)                                        = 0
29365:      Received signal #14, SIGALRM, in sigsuspend() [caught]
29365:  sigsuspend(0xFFBEEC18)                          Err#4 EINTR
29365:  setcontext(0xFFBEE900)
29365:  alarm(0)                                        = 0
29365:  sigprocmask(SIG_UNBLOCK, 0xFFBEEC38, 0x00000000) = 0
29365:  sigaction(SIGALRM, 0xFFBEEB98, 0x00000000)      = 0
29365:  shmdt(0x00800000)                               = 0
29365:  write(5, " C S", 2)                             = 2
29365:  write(5, "\0\0\01E", 4)                         = 4
29365:  write(5, " ACF86\0\v978499", 8)                 = 8
29365:  write(5, "\0 r\0\0\0\t s y s m a s".., 30)      = 30
Disconnected <br> <br> <br>
DBG - 2 Connecting DBI:Informix:dimonex  ...
29365:  write(1, " D i s c o n n e c t e d".., 7
 
////////////////////////////////////////////////////////////////////////
 
 
>Why are you stuck with IDS 9.21? Can you not upgrade to a more recent version? I'm not in the >least bit sure it would alter the slow disconnect behaviour, but it would at least avoid problems >with the potential unavailability of support. There could be a large number of subsidiary questions >arising - but I need some basic data first.
 
 
Unfortunately, this is the version we are running with at the moment ... But I'll get the boss onto it :-)
 
 
 
 
 
I hope that this mail provides some useful information,
 
sincerely,
 
Paul.
 
 
 
 
 
 
>--
>#include <disclaimer.h>
>Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/
 
 
.
____________________________________________________
  IncrediMail - Email has finally evolved - Click Here

Reply via email to