-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Hi! I have a deploy of zoneminder which I have to reboot the server from time to time because some cams just stop working.
I did a strace on zma process and find out an error on the syscall 'timer_gettime", I noticed it is called on my system in these files:
zm_logger.cpp:32:#include <syscall.h>
zm_logger.cpp:522: if ( (tid = syscall(SYS_gettid)) < 0 ) // Thread/Process id
zm_thread.h:32: ThreadException( const std::string &message ) : Exception( stringtf( "(%d) "+message, (long int)syscall(224) ) )
zm_thread.h:205: return( (pid_t)syscall(224) );
zm_timer.h:33: TimerException( const std::string &message ) : Exception( stringtf( "(%d) "+message, (long int)syscall(224) ) )
On my system when it call (long int)syscall(224) it's calling timer_gettime, but I think it should be calling gettid instead.
Also, notice that the solution is already applied on zm_logger.cpp, just replace the constant 224 for the macro SYS_gettid.
Could you guys fix this?
Thanks