Force -threaded from a library

Hi List, Is it possible to prevent a library from being used unless -threaded is enabled? I have a specific case where lots-of-nasty shows up if the library is linked against an executable built without -threaded. I suppose this is GHC specific. /jve

Hello John, Friday, January 15, 2010, 1:42:15 AM, you wrote:
Is it possible to prevent a library from being used unless -threaded is enabled? I have a specific case where lots-of-nasty
yes. it's how opposite checked in gtk2hs: when (rtsSupportsBoundThreads) $ fail $ "\n" ++ "initGUI: Gtk+ is single threaded and so cannot safely be used from\n" ++ "multiple Haskell threads when using GHC's threaded RTS. You can\n" ++ "avoid this error by relinking your program without using the\n" ++ "'-threaded' flag. If you have to use the threaded RTS and are\n" ++ "absolutely sure that you only ever call Gtk+ from a single OS\n" ++ "thread then you can use the function: unsafeInitGUIForThreadedRTS\n" -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Thanks Bulat,
I hadn't even considered doing it that way. :)
/jve
On Fri, Jan 15, 2010 at 3:35 AM, Bulat Ziganshin
Hello John,
Friday, January 15, 2010, 1:42:15 AM, you wrote:
Is it possible to prevent a library from being used unless -threaded is enabled? I have a specific case where lots-of-nasty
yes. it's how opposite checked in gtk2hs:
when (rtsSupportsBoundThreads) $ fail $ "\n" ++ "initGUI: Gtk+ is single threaded and so cannot safely be used from\n" ++ "multiple Haskell threads when using GHC's threaded RTS. You can\n" ++ "avoid this error by relinking your program without using the\n" ++ "'-threaded' flag. If you have to use the threaded RTS and are\n" ++ "absolutely sure that you only ever call Gtk+ from a single OS\n" ++ "thread then you can use the function: unsafeInitGUIForThreadedRTS\n"
-- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
participants (2)
-
Bulat Ziganshin
-
John Van Enk