# here's where the error message, $mess, gets constructed
$mess .= "\t$sub " if $error eq "called";
$mess .= "$error at $file line $line";
- $mess .= " thread " . Thread->self->tid
- if exists $main::{'Thread::'};
+ if (exists $main::{'Thread::'}) {
+ my $tid = Thread->self->tid;
+ $mess .= " thread $tid" if $tid;
+ }
$mess .= "\n";
}
# we don't need to print the actual error message again so we can
# remove them first.
my $msg;
$msg = "$error at $file line $line";
- $msg .= " thread " . Thread->self->tid
- if exists $main::{'Thread::'};
+ if (exists $main::{'Thread::'}) {
+ my $tid = Thread->self->tid;
+ $mess .= " thread $tid" if $tid;
+ }
$msg .= "\n";
$msg =~ tr/\0//d;
return $msg;
(long)IoLINES(GvIOp(PL_last_in_gv)));
}
#ifdef USE_THREADS
- sv_catpvf(sv, " thread %ld", thr->tid);
+ if (thr->tid)
+ Perl_sv_catpvf(aTHX_ sv, " thread %ld", thr->tid);
#endif
sv_catpv(sv, PL_dirty ? dgd : ".\n");
}