List:Internals« Previous MessageNext Message »
From:Sergei Golubchik Date:April 24 2011 9:04pm
Subject:Re: Use of thread specific data with mysqld
View as plain text  
Hi, Hiromichi!

On Apr 24, Hiromichi Watari wrote:
> Hi,
> I'm trying to use thread specific data with mysqld but ran into a problem with
> my_errno generating Segmentation fault at the following line.
> I know that my_errno is also thread specific data but not familiar with its
> implementation.
> I'm using pthread_key_create(), pthread_setspecific() and pthread_getspecific() for
> my own thread specific data, is there something I should be aware of ?
> Thanks,
> Hiromichi
> 
> p.s. I ran into this problem only if I try to use my own thread specific data, of
> course.

probably you forgot to call my_thread_init() in the beginning of your
thread function.

Anyway, here's the code:

#define my_errno my_thread_var->thr_errno

#define my_thread_var (_my_thread_var())

struct st_my_thread_var *_my_thread_var(void)
{
  return  my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys);
}

my_bool my_thread_init(void)
{
  ...
    if (!(tmp= (struct st_my_thread_var *) calloc(1, sizeof(*tmp))))
    {
      error= 1;
      goto end;
    }
    pthread_setspecific(THR_KEY_mysys,tmp);
  ...
}

Regards,
Sergei
Thread
Use of thread specific data with mysqldHiromichi Watari24 Apr
  • Re: Use of thread specific data with mysqldSergei Golubchik24 Apr
    • Re: Use of thread specific data with mysqldHiromichi Watari26 Apr
      • Re: Use of thread specific data with mysqldMarc Alff27 Apr
        • Re: Use of thread specific data with mysqldHiromichi Watari28 Apr
          • Re: Use of thread specific data with mysqldMats Kindahl3 May
            • Re: Use of thread specific data with mysqldHiromichi Watari4 May
            • Re: Use of thread specific data with mysqldMichael Widenius4 May
              • Regression test returning different result each time it's runHiromichi Watari15 Jun
                • Re: Regression test returning different result each time it's runØystein Grøvlen16 Jun
                  • Re: Regression test returning different result each time it's runHiromichi Watari16 Jun
                    • Re: Regression test returning different result each time it's runØystein Grøvlen16 Jun
                      • Re: Regression test returning different result each time it's runRick James16 Jun
                        • Re: Regression test returning different result each time it's runHiromichi Watari18 Jun
                      • Re: Regression test returning different result each time it's runHiromichi Watari18 Jun
                        • Name of function to execute mysql commandHiromichi Watari21 Jan