Author: spadkins
Date: Wed Feb 17 14:05:11 2010
New Revision: 13829

Modified:
   p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm

Log:
avoid Signal 6 errors

Modified: p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm      (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/Oracle.pm      Wed Feb 17 
14:05:11 2010
@@ -39,10 +39,23 @@
 # my $home = eval { local $SIG{__DIE__}; (getpwuid($>))[7] } || $ENV{HOME};
 # This causes a signal 6 abort/segmentation fault if Oracle establishes a
 # connection before (getpwuid($>))[7] is called.
+#
 # Example, MIME::Lite would fail to send emails if the Oracle connection
 # came before the MIME::Lite send().
-# This is because the order and types of shared objects loaded.
+#
+# What was happening was that if an Oracle connection was established before 
MIME::Lite::send() was called,
+# the network/authentication shared libraries that are needed by the Oracle 
shared libraries get linked a certain way.
+#
+# If the Oracle connection was established after the MIME::Lite::send() was 
called,
+# completely different network/authentication shared libraries would be 
dynamically linked in.
+# Evidently, both sets of shared libraries implement the same API's, but one 
set of them was not compatible
+# with what we were doing.
+#
+# The following two statements are in order to bring consistency so that the 
same set of dynamic
+# libraries are used every time.
+
 my @pwentry = getpwuid($>);
+use Net::SMTP;
 
 sub _init2 {
     &App::sub_entry if ($App::trace);

Reply via email to