Fix the merge with txn_scope_guard() and put the necessary =cut in.
[dbsrgits/DBIx-Class-Historic.git] / lib / DBIx / Class / StartupCheck.pm
CommitLineData
11736b4c 1package DBIx::Class::StartupCheck;
2
3BEGIN {
4
5 { package TestRHBug; use overload bool => sub { 0 } }
6
7 sub _has_bug_34925 {
8 my %thing;
9 my $r1 = \%thing;
10 my $r2 = \%thing;
11 bless $r1 => 'TestRHBug';
12 return !!$r2;
13 }
14
15 sub _possibly_has_bad_overload_performance {
16 return $] < 5.008009 && ! _has_bug_34925();
17 }
18
19 unless ($ENV{DBIC_NO_WARN_BAD_PERL}) {
20 if (_possibly_has_bad_overload_performance()) {
21 print STDERR "\n\nWARNING: " . __PACKAGE__ . ": This version of Perl is likely to exhibit\n" .
22 "extremely slow performance for certain critical operations.\n" .
23 "Please consider recompiling Perl. For more information, see\n" .
24 "https://bugzilla.redhat.com/show_bug.cgi?id=196836 and/or\n" .
25 "http://lists.scsys.co.uk/pipermail/dbix-class/2007-October/005119.html.\n" .
26 "You can suppress this message by setting DBIC_NO_WARN_BAD_PERL=1 in your\n" .
27 "environment.\n\n";
28 }
29 }
30}
31
32=head1 NAME
33
34DBIx::Class::StartupCheck - Run environment checks on startup
35
36=head1 SYNOPSIS
37
38 use DBIx::Class::StartupCheck;
39
40=head1 DESCRIPTION
41
42Currently this module checks for, and if necessary issues a warning for, a
43particular bug found on RedHat systems from perl-5.8.8-10 and up. Other checks
44may be added from time to time.
45
46Any checks herein can be disabled by setting an appropriate environment
47variable. If your system suffers from a particular bug, you will get a warning
48message on startup sent to STDERR, explaining what to do about it and how to
49suppress the message. If you don't see any messages, you have nothing to worry
50about.
51
52=head1 CONTRIBUTORS
53
54Nigel Metheringham
55
56Brandon Black
57
58Matt S. Trout
59
60=head1 AUTHOR
61
62Jon Schutz
63
64=head1 LICENSE
65
66You may distribute this code under the same terms as Perl itself.
67
68=cut
69
701;