[JDEV] Re: [Mac-dev] Server crashing in pth_sched.c (on Mac OS X) : help needed
Max Horn
max at quendi.de
Fri May 18 10:43:31 CDT 2001
At 8:22 Uhr -0700 18.05.2001, Jabber Developer wrote:
>Hi
>
>I am still trying to have jabber running correctly on Apple Mac OS X.
>I turned on the debug mode in the pth_library and added some extra
>log in pth_sched.c
>I can reproduce server crashes really often and it's always crashing
>while executing :
>
> pth_sc(sigprocmask)(SIG_SETMASK, &pth_sigblock, &oss);
>
>in the function : intern void pth_sched_eventmanager(pth_time_t
>*now, int dopoll)
>
>I know it's crashing there because my code now looks like :
> pth_debug1("******** allow delivery (sigprocmask)"); // funcall
> pth_sc(sigprocmask)(SIG_SETMASK, &pth_sigblock, &oss);
> pth_debug1("******** end allow delivery"); // funcall
>
>I can see in my log the first log, but the second message never appear!
>Is it nornal that the variable oss is never initialized in this
>function ? It looks weird to use a non initialized variable. My
>system is not using syscall() but instead directly sigprocmask, can
>someone on a linux/solaris system check how this pth_sc(sigprocmask)
>is defined?
Well, scannign throught the pth source revealed that pth_sc(xyz)
simply gets replaced with xyz in our case (on other systems, it will
be changed to a call to "syscall" or something similar)
This means that the above call is identical to
sigprocmask(SIG_SETMASK, &pth_sigblock, &oss);
oss is a pure output value, it is fine that it doesn't get
initialised before; it is there to store the old sigmask
HTH a bit in understanding what is going on here. I will try to take
a look at the code in pth and see if I can understand it ;).
Max
--
-----------------------------------------------
Max Horn
C++/ObjC/Java Developer
email: <mailto:max at quendi.de>
phone: (+49) 6151-494890
More information about the JDev
mailing list