This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: strange behavior with threads...


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

--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]