Hi Hamish, On 31.07.2010, at 06:35, Hamish Mackenzie wrote:
> 1 patch for repository http://code.haskell.org/gtk2hs: > > Sat Jul 31 16:16:07 NZST 2010 Hamish Mackenzie > <[email protected] > > > * Disable gdk thread locks in Win32 since "With the Win32 backend, > GDK calls should not be attempted from multiple threads at all." and > the locking calls conflict with ghci and template haskell. > It is true that calls to Gdk should not be done from multiple threads. This is exactly what that lock you're removing is for. It ensures that the GC if ghc's runtime system (which calls finalizers from multiple threads) are enqueued and then finalized from the main Gtk loop (which runs in the correct thread if the Haskell program doesn't do anything weird). I assume you're using the head of the repository. If there are still concurrency problems in ghci, I'd like to know! Cheers, Axel > New patches: > > [Disable gdk thread locks in Win32 since "With the Win32 backend, > GDK calls should not be attempted from multiple threads at all." and > the locking calls conflict with ghci and template haskell. > Hamish Mackenzie <[email protected]>**20100731041607 > Ignore-this: e41f547388399985f739aced779eeaa5 > ] hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 35 > > #if defined( WIN32 ) > #include <windows.h> > +#undef GDK_THREADS_ENTER > +#undef GDK_THREADS_LEAVE > +#define GDK_THREADS_ENTER() > +#define GDK_THREADS_LEAVE() > #endif > > #undef DEBUG > > Context: > > [Adjust drawableGetID. (But still failed on Windows) > Andy Stewart <[email protected]>**20100724194553 > Ignore-this: f92028eb5f358c8da1fe0f0d864ba99 > ] > [Use EventM rewrite CairoGhci.hs > Andy Stewart <[email protected]>**20100724174546 > Ignore-this: 765c04f63f4738f751ef32bcc12725db > ] > [Fix demo CairoGhci compile problem. > Andy Stewart <[email protected]>**20100724170420 > Ignore-this: 6145de3d109a75bc3b25ec84d49bfb55 > ] > [Fix pango compile problem: add 'pangocairo >= 1.10' in pango.cabal > Andy Stewart <[email protected]>**20100724061436 > Ignore-this: 2fabeee5f2876bb6c3d76af3067bb2b2 > ] > [Move cairo rendering functions for pango into the pango package. > [email protected]**20100721081324 > Ignore-this: 7cddb7eeaa2bb7673045af036e0a57a9 > ] > [Add an option to the type generator to ignore the --destructor > command line spec. This allows e.g. Pixbufs to be GC'd immediatlely. > [email protected]**20100720070151 > Ignore-this: fe533f76b033d2783713909f5c03eaf9 > ] > [Doc fix. > [email protected]**20100720070136 > Ignore-this: 8e845b0b6ce26e38abf6e9112e061010 > ] > [Add missing type in Pango.BasicTypes Weight. (Fixed bug 1184) > Andy Stewart <[email protected]>**20100716164718 > Ignore-this: 17f38af03f07808b251727b4e01797e9 > > Documentation at > http://library.gnome.org/devel/pango/1.28/PangoMarkupFormat.html > is leak, need check those type in pango-enum-types.c > ] > [Add gdk_get_default_root_window (Fixed ticket 1118) > Andy Stewart <[email protected]>**20100716160750 > Ignore-this: 3d19dd5ea992ebf60425cbd6183a077a > ] > [Make sure click close button will destory window in ghci. (Fixed > bug 1172) > Andy Stewart <[email protected]>**20100716151237 > Ignore-this: 11a06164b3a56ea4f8a6f4e460f42c1e > ] > [Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or higher > (Fixed bug 1189) > Andy Stewart <[email protected]>**20100716143251 > Ignore-this: beb720b6f7556bbb0352287f7bc5d56f > ] > [Export drawWindowScroll (Fixed ticket: 1186) > Andy Stewart <[email protected]>**20100716135320 > Ignore-this: f759d2754007b99f16915a8eaab2847d > ] > [Fix null pointer bug in some signals. (Fixed bug 1194) > Andy Stewart <[email protected]>**20100716134138 > Ignore-this: de9e51c5f86a5d3cd4f375bfe0ab043d > ] > [Export imageSurfaceCreateFromPNG. (Fixed bug 1173) > Andy Stewart <[email protected]>**20100716125655 > Ignore-this: 22cbe2f1c6df7f587bccb1b5d4d60ed7 > ] > [Export some functions (fix bug 1171) > Andy Stewart <[email protected]>**20100716125209 > Ignore-this: e40b04bb32d6b90580eca3a2094a9577 > ] > [Work around a bug in ghci that causes a crash on x86-64 platforms. > [email protected]**20100716113429 > Ignore-this: 2e16c4dea831f0e52fbc7b1834d564f6 > ] > [Fix indentation in hsgthread.c module. > [email protected]**20100716113401 > Ignore-this: ee943347749c31249eb0141113d86be5 > ] > [Acquire the Gtk lock only when initializing. > [email protected]**20100714134015 > Ignore-this: e1f6d2e97259bc541a0e029c99212923 > ] > [Add more debug output. > [email protected]**20100714131354 > Ignore-this: 4eeb70916bcecfe3d7f312b4b2d3bcff > ] > [Add some entering and leaving of the Gdk thread and add debug output. > [email protected]**20100714082714 > Ignore-this: 3b1fa3be7d5b88792eb7956502497b90 > ] > [Get docs in right order. > [email protected]**20100708161656 > Ignore-this: 1d73bb3f15c75d65694bf4834071804f > ] > [Fix documentation and don't import internal functions from > ByteString. > [email protected]**20100708153707 > Ignore-this: 6347b22b1641978869ebe1dd67f4f9a9 > ] > [Add textBufferSetByteString and textBufferGetByteString for *huge* > file. > Andy Stewart <[email protected]>**20100708122010 > Ignore-this: f7c8f643dc2cd1be2ac3c42f4e29640c > ] > [Add widgetEvent. > Andy Stewart <[email protected]>**20100702143022 > Ignore-this: 57d807386fa34f6323c285913c4e1cf0 > ] > [Add mainDoEvent. > Andy Stewart <[email protected]>**20100701030836 > Ignore-this: 37cd08eb71f1eb3e77f09f04a02c5e3 > ] > [Revert previous patch, because insert Entire string in error will > cause speak leak sometimes. > Andy Stewart <[email protected]>**20100629223233 > Ignore-this: 92751d107bce7aabe5f903d4baedcfaa > ] > [Add string info in fromUTF for easier to debug. > Andy Stewart <[email protected]>**20100629085831 > Ignore-this: 7e11a77e7524f36a53c78c6ebf7a6e3b > ] > [Update Embedded demos. > Andy Stewart <[email protected]>**20100628072541 > Ignore-this: 1792a53558175309e474755b2fd170ab > ] > [Add function drawableGetID. > Andy Stewart <[email protected]>**20100628071306 > Ignore-this: 66f80a911f63867209160d53e51c8498 > ] > [Fix freeHaskellFunPtr problem in Clipboard.chs > Andy Stewart <[email protected]>**20100627113550 > Ignore-this: efa86a719456d15b01eaaed62393f78f > ] > [Apply Oleg's patch to fix clipboardRequestTargets segfault. > Andy Stewart <[email protected]>**20100627103336 > Ignore-this: 5602ff1727f889cdccc5bc2cb0f7353c > ] > [Add MPlayer client demo. > Andy Stewart <[email protected]>**20100617090640 > Ignore-this: 5a8ab681c148ca07f27f768f9f62b1b7 > ] > [Move hierarchy.list to gtk package (Don't need reinstall gtk2hs- > buildtools after add new type) > Andy Stewart <[email protected]>**20100604131309 > Ignore-this: d3f52ea66e784a2ecd66d764571f58a9 > ] > [Move hierarchy.list to gio package (Don't need reinstall gtk2hs- > buildtools after add new type) > Andy Stewart <[email protected]>**20100604130442 > Ignore-this: 7539a9c035e4f25ac54d619c92021f49 > ] > [Move hierarchy.list to pango package (Don't need reinstall gtk2hs- > buildtools after add new type) > Andy Stewart <[email protected]>**20100604130210 > Ignore-this: b2ebce6749cf1083f3810e6175ceb1a2 > ] > [Fix INSTALL > Andy Stewart <[email protected]>**20100604095408 > Ignore-this: 832b7cff47d7200ee89ee797981febee > ] > [Create Gtk specific versions of functions that add something to the > main loop. These specific functions acquire the Gtk lock before > executing the action which the documentation promised but... > [email protected]**20100603153700] > [Improve signal `queryTooltip` > Andy Stewart <[email protected]>**20100602070555 > Ignore-this: 4b625d69ebb779f22ec57ae0cc5223aa > ] > [Add MenuToolButton support functions for Tooltip.chs > Andy Stewart <[email protected]>**20100601165857 > Ignore-this: 9e153056f052f09f3bf7bd5569ce347c > ] > [Fix `widgetTooltipMarkup` and docs. > Andy Stewart <[email protected]>**20100601144701 > Ignore-this: 3fc33fd561f18f221d8b7b0215c71826 > ] > [Fix function `tooltipSetMarkup` > Andy Stewart <[email protected]>**20100601143948 > Ignore-this: b4af7ecca1bc74b22e20727f33729a8b > ] > [Add Widget support functions for Tooltip.chs > Andy Stewart <[email protected]>**20100601140304 > Ignore-this: 6b10098119f7a416d763c834bd892cae > ] > [Add Tooltip.chs (The new module to replace Tooltips.chs) > Andy Stewart <[email protected]>**20100601131828 > Ignore-this: ca64d1d45d3c526494a41fb537d16c6c > ] > [Clean bootstrap.sh > Andy Stewart <[email protected]>**20100601122113 > Ignore-this: f59b5f9bf21945c39258a39432621a03 > ] > [Note that Cabal 1.8 is required for ghci support under Windows. > [email protected]**20100527181310 > Ignore-this: 1c5fc3bb7ad83f5d1094e0083ddd9913 > ] > [Do not query g_object_get_type as it only exists in newer Gtk+ > versions. > [email protected]**20100527163435 > Ignore-this: 70d62f66a2eb159c7fd3e23079c5debf > ] > [Remove gnomevfs sourceview mozembed since those packages has > deprecated. > Andy Stewart <[email protected]>**20100527124728 > Ignore-this: a1dfda3669b7417a7b09c3b4acfaa2d > > Below are backup repositories for those deprecated packages: > > * gnomevfs : http://www2.in.tum.de/~simona/gnomevfs/ > * sourceview : http://www2.in.tum.de/~simona/sourceview/ > * mozembed : http://www2.in.tum.de/~simona/mozembed/ > > ] > [Fix IconTheme.chs docs. > Andy Stewart <[email protected]>**20100527102140 > Ignore-this: 2f2b7ab508c688cc73f1b59012966d13 > ] > [Fix Gtk2HsSetup.hs bug. > Andy Stewart <[email protected]>**20100527095530 > Ignore-this: 1b65945da174e05d0ad2a1f01e2ee651 > ] > [Add gnomevfs demo directory. > Andy Stewart <[email protected]>**20100527061234 > Ignore-this: 40c6dd74b460d7546937212dacf1f9e1 > ] > [Add gtk demo directory. > Andy Stewart <[email protected]>**20100527061041 > Ignore-this: 876a827c6f1bac1a8b26a99cd68c6005 > ] > [Add cairo demo directory. > Andy Stewart <[email protected]>**20100527051924 > Ignore-this: b1a70c2a24812fb84c899e4e8ce3ca6c > ] > [Add pango demo directory. > Andy Stewart <[email protected]>**20100527051205 > Ignore-this: af1ff611ab459ee2b6c5bc09a3f63c11 > ] > [Fix the license of gnomevfs > Andy Stewart <[email protected]>**20100527035350 > Ignore-this: 9ac7c768af168d6f0c7af8c8790e8643 > ] > [Fix the license of gio. > [email protected]**20100526152125 > Ignore-this: 42fe27de2030e0395227f889ba5345d8 > ] > [Fix Trac #1164. toGSList was reversing lists. > [email protected]**20090514122933 > Ignore-this: c466eadbc5ae61ba71721fe15b44735a > ] > [Remove gconf glade gstreamer gtkglext gtksourceview2 soegtk > svgcairo vte webkit since these all now have their own repos. > [email protected]**20100525211947] > [Documentation fix for EventM. > [email protected]**20100525131428 > Ignore-this: 25c3bf3513ec6467cbd0febe397ab53e > ] > [Put upper bounds on base version. > [email protected]**20100525082101 > Ignore-this: f92b2d9970c436c9fcbcf141fc988e8 > ] > [Make documentation parsable. > [email protected]**20100525080209 > Ignore-this: 60f44b8251a9f3e933c874f72d8e8801 > ] > [Make the version test in pango less complex as Cabal 1.6 doesn't > parse it otherwise. > [email protected]**20100525075706 > Ignore-this: f3446237cf66abf49e81bd4ba8ef9744 > ] > [Fix an incorrect pattern in windowSetIcon. > [email protected]**20100525075639 > Ignore-this: eb596c778897b4ae4fd7f9a8dde59726 > ] > [Get rid of stock images under ./docs/reference/images > Andy Stewart <[email protected]>**20100524235315 > Ignore-this: 1094aaf32c73ba189937e1beee24ee49 > ] > [Redirect image link to library.gnome.org and update image items to > GTK+ 2.20 > Andy Stewart <[email protected]>**20100524233947 > Ignore-this: f33362d57605d16365e4dfac59c01122 > ] > [Add an upper version to the requirement on base. > [email protected]**20100524211158] > [Be more specific as to the prerequisites of packages. > [email protected]**20100524210210] > [Fix docu. > [email protected]**20100524210157] > [Make soegtk compile by fixing dependency on old-time and by not > relying on Gtk 2.18. > [email protected]**20100524210032] > [don't mention tools in the docs for unregistering. > [email protected]**20100524201401] > [TAG 0.11.0 > [email protected]**20100524200857] > Patch bundle hash: > 075d093e7cb6aca92702db3024f8cd1df9f1fa80 > ------------------------------------------------------------------------------ > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://p.sf.net/sfu/dev2dev-palm_______________________________________________ > Gtk2hs-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Gtk2hs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel
