On Wed, Feb 09, 2000 at 10:00:21AM +0100, [EMAIL PROTECTED] wrote:
> > I didn't have any problems with 5.5.3 either. Maybe you are getting
> > hosed by threads.
>
> I don't think so. I checked the scripts on Linux where I run a non
> threading perl (I attach the perl -V output). Different to Solaris, the
> coredump script does NOT produce a coredump, but it is terminated
> (reproducably) by a segmentation fault. (The other script runs as
> expected.) I tried both 0.65 and 0.66 (hoping your bugfix could have
> fixed this implicitly).
I recompiled with Insure++ and found this (fix attached):
[watcher.c:343] **RETURN_INCONSISTENT(4)**
Function pe_watcher_on has an inconsistent return type.
Returns value in one location, and not in another.
>> if (WaPOLLING(wa) || WaSUSPEND(wa)) return;
However, I couldn't find anything else.
--
"Never ascribe to malice that which can be explained by stupidity."
via, but not speaking for Deutsche Bank
Change 2918 by joshua@joshua on 2000/02/09 09:04:31
fix
Affected files ...
.. //depot/D/Event/ChangeLog#132 edit
.. //depot/D/Event/c/watcher.c#41 edit
Differences ...
==== //depot/D/Event/ChangeLog#132 (text) ====
@@ -1,5 +1,7 @@
2000-02-09 Joshua Pritikin <[EMAIL PROTECTED]>
+ * Fixed another bug introduced in 0.61. (Insure++)
+
* Tighten typemap.
* Warn about non-existant methods.
==== //depot/D/Event/c/watcher.c#41 (text) ====
@@ -340,7 +340,8 @@
static char *pe_watcher_on(pe_watcher *wa, int repeat) {
STRLEN n_a;
char *excuse;
- if (WaPOLLING(wa) || WaSUSPEND(wa)) return;
+ if (WaPOLLING(wa) || WaSUSPEND(wa))
+ return 0;
if (WaCANCELLED(wa))
croak("Event: attempt to start cancelled watcher '%s'",
SvPV(wa->desc,n_a));