Re: Re[2]: bug: unstable myThreadId in GHC 6.6.1

2009-04-16 Thread Duncan Coutts
On Sat, 2009-04-11 at 21:07 +0400, Bulat Ziganshin wrote:
 Hello Bertram,
 
 Saturday, April 11, 2009, 8:09:46 PM, you wrote:
 
  What does same thread mean? I'll risk a guess.
 
 well, that's possible - i'll ask on gtk2hs list too
 
 currently, i believe that mainGUI just runs endless loop processing
 queue of GUI events


You are both right. mainGUI does just run an endless event processing
loop but callbacks for events (like button clicks) are indeed ffi
wrapper callbacks and so do get run in a fresh thread.

Your 'guiThread' is blocked in the mainGUI call, so nothing ever happens
in that Haskell thread until the even loop terminates.

Duncan

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[2]: bug: unstable myThreadId in GHC 6.6.1

2009-04-11 Thread Bulat Ziganshin
Hello Bertram,

Saturday, April 11, 2009, 8:09:46 PM, you wrote:

 What does same thread mean? I'll risk a guess.

well, that's possible - i'll ask on gtk2hs list too

currently, i believe that mainGUI just runs endless loop processing
queue of GUI events

-- 
Best regards,
 Bulatmailto:bulat.zigans...@gmail.com

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[2]: bug: unstable myThreadId in GHC 6.6.1

2009-04-10 Thread Bulat Ziganshin
Hello Don,

Friday, April 10, 2009, 8:36:32 PM, you wrote:

unfortunately, full example is my whole program. i will try to make
short example if someone will say that it looks like a bug and it was
not fixed in intermediate versions. basically, scenario is simple -
myThreadId changed due the life of (bound) thread

 Could you send a full example we can compile and test?
 This is only a fragment.

 bulat.ziganshin:
 Hello glasgow-haskell-users,
 
 i've looked for this bug in Trac but don't found anything. so:
 
 startGUI action = runInBoundThread $ do
   unsafeInitGUIForThreadedRTS
   myThreadId = writeIORef guiThread
   action = widgetShowAll
   mainGUI
 
 guiThread  =  unsafePerformIO$ newIORef$ error undefined GUI::guiThread
 
 
 Later in the same thread i ask for myThreadId and get different value.
 interesting that value returned in startGUI is 23 while later values
 are about 7000. probably this reflects total amount of threads created
 so far
 
 so that's the problem. Win API call returns constant thread number
 (that looks natural since the thread is bound). so either:
 
 1) it's feature - please mention this in docs
 2) it was fixed since 6.6.1
 3) we need full-scale bugreport using 6.10.2
 
 
 -- 
 Best regards,
  Bulat  mailto:bulat.zigans...@gmail.com
 
 ___
 Glasgow-haskell-users mailing list
 Glasgow-haskell-users@haskell.org
 http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


-- 
Best regards,
 Bulatmailto:bulat.zigans...@gmail.com

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users