Hi Michael,
Michael Mulcahy wrote:
>
> Hi All,
>
> There is a bug in the logging functions debug, info, warning, error and
> panic
> which cause a crash when called from a thread that has a thread id larger
> than 1024, i.e. gwthread_self returns value > 1024
>
> In the log module there is an array for mapping threads to logfiles:
>
> #define THREADTABLE_SIZE 1024
> static unsigned int thread_to [ (long) THREADTABLE_SIZE ];
>
> The log functions use this to identify which log file to write the data to,
> as in following:
>
> void error(int e, const char *fmt, ...)
> {
> if ((e = thread_to[gwthread_self()])) { /**** Relevent line ***/
> FUNCTION_GUTS_EXCL(GW_ERROR, "");
> } else {
> FUNCTION_GUTS(GW_ERROR, "");
> }
> }
>
> Unfortunately if gwthread_self returns a value greater than 1024 then
> problems
> occur.
>
> Comments or suggestions appreciated!
you are right. But how to reproduce this?
Have you ceriously running bearerbox with more than 1024 threads
inside?
Stipe
[EMAIL PROTECTED]
-------------------------------------------------------------------
Wapme Systems AG
Vogelsanger Weg 80
40470 D�sseldorf
Tel: +49-211-74845-0
Fax: +49-211-74845-299
E-Mail: [EMAIL PROTECTED]
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are