Fwd: strange behavior with threads...

jean-luc malet jeanluc.malet@gmail.com
Wed Jul 29 16:58:00 GMT 2009


Hi!
can someone help me regarding this issue?
I have a multithreaded application (one thread for the GUI and one
thread for background processing [which only sleep at this time]) and
I'm getting connection errors only on cygwin/X (tested on linux and
linux in vm, 2 different linux distribution)
normally all X operation shall be protected with mutexes
any idea?
thanks
JLM


---------- Forwarded message ----------
From: jean-luc malet <jeanluc.malet@gmail.com>
Date: Fri, Jul 24, 2009 at 11:12 AM
Subject: Re: strange behavior with threads...
To: cygwin@cygwin.com


On Thu, Jul 23, 2009 at 4:11 PM, Corinna
Vinschen<corinna-cygwin@cygwin.com> wrote:
> On Jul 23 15:50, jean-luc malet wrote:
>> Hi!
>> I've the following code :
>> void _Window::Start(void* arg)
>> {
>>         ThreadArgs args;
>>         args.TheWindow=this;
>>         args.args=arg;
>>         int err = pthread_create(&main_thread,NULL,_Start, (void*)&args);
>>         if (err)
>>         {
>>                 throw new  Exception(err, "window thread creation error");
>>         }
>> }
>> void* _Window::_Start(void* arg)
>> {
>>         ThreadArgs* args = (ThreadArgs*) arg;
>>         pthread_exit((void*)args->TheWindow->start_routine(args->args));
>> }
>>
>> _Window::_Start is static
>>
>> for some reason that I can't determine it happens that args in
>> _Window::_Start have strange value (args->TheWindow don't contain a
>> valid pointer, ie a pointer on a _Window object)
>
> Maybe you shouldn't let the arg to the thread point to a local
> stack-based variable in the other method which, as you code implies,
> returns after having started the thread...
>
>
> Corinna
>
> --
> Corinna Vinschen                  Please, send mails regarding Cygwin to
> Cygwin Project Co-Leader          cygwin AT cygwin DOT com
> Red Hat
>
> --
> Problem reports:       http://cygwin.com/problems.html
> FAQ:                   http://cygwin.com/faq/
> Documentation:         http://cygwin.com/docs.html
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>
>

Yes, sorry for such lame question :( I should have seen this issue
the code has been modified and has been tested under linux and is now
working as expected under linux, thanks
however I have a X server connection issue

freeglut (./tests/GENERATED/GlutWindowTest): Unable to create direct
context rendering for window ' '
This may hurt performance.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
     after 34 requests (32 known processed) with 5 events remaining.

think I will have to post on Cygwin/X ML

thanks for help
JLM

--
KISS! (Keep It Simple, Stupid!)
(garde le simple, imbécile!)
"mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses
simples et qui marchent, espèce d'imbécile!"
-----------------------------
"Si vous pensez que vous êtes trop petit pour changer quoique ce soit,
essayez donc de dormir avec un moustique dans votre chambre." Betty
Reese
http://www.grainesdechangement.com/citations.htm



-- 
KISS! (Keep It Simple, Stupid!)
(garde le simple, imbécile!)
"mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses
simples et qui marchent, espèce d'imbécile!"
-----------------------------
"Si vous pensez que vous êtes trop petit pour changer quoique ce soit,
essayez donc de dormir avec un moustique dans votre chambre." Betty
Reese
http://www.grainesdechangement.com/citations.htm

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list