<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >System.Glib.MainLoop</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_System-Glib-MainLoop.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >glib-0.11.2: Binding to the GLIB library for Gtk2Hs.</TD ><TD CLASS="topbut" ><A HREF="src/System-Glib-MainLoop.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >System.Glib.MainLoop</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable (depends on GHC)</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >provisional</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >gtk2hs-users@lists.sourceforge.net</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >main event loop, and events </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AHandlerId" >HandlerId</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUInt" >CUInt</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtimeoutAdd" >timeoutAdd</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtimeoutAddFull" >timeoutAddFull</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtimeoutRemove" >timeoutRemove</A > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AidleAdd" >idleAdd</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AidleRemove" >idleRemove</A > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AIOCondition" >IOCondition</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AIOIn" >IOIn</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIOOut" >IOOut</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIOPri" >IOPri</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIOErr" >IOErr</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIOHup" >IOHup</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIOInvalid" >IOInvalid</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinputAdd" >inputAdd</A > :: FD -> [<A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A >] -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinputRemove" >inputRemove</A > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3APriority" >Priority</A > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApriorityLow" >priorityLow</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApriorityDefaultIdle" >priorityDefaultIdle</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApriorityHighIdle" >priorityHighIdle</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApriorityDefault" >priorityDefault</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApriorityHigh" >priorityHigh</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMainLoop" >MainLoop</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainLoopNew" >mainLoopNew</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainLoopRun" >mainLoopRun</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainLoopQuit" >mainLoopQuit</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainLoopIsRunning" >mainLoopIsRunning</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMainContext" >MainContext</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainContextNew" >mainContextNew</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainContextDefault" >mainContextDefault</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainContextIteration" >mainContextIteration</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmainContextFindSourceById" >mainContextFindSourceById</A > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >newtype</SPAN > <A HREF="#t%3ASource" >Source</A > = <A HREF="#v%3ASource" >Source</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-ForeignPtr.html#t%3AForeignPtr" >ForeignPtr</A > <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsourceAttach" >sourceAttach</A > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsourceSetPriority" >sourceSetPriority</A > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsourceGetPriority" >sourceGetPriority</A > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsourceDestroy" >sourceDestroy</A > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsourceIsDestroyed" >sourceIsDestroyed</A > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:HandlerId" ><A NAME="t%3AHandlerId" ></A ></A ><B >HandlerId</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUInt" >CUInt</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#HandlerId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:timeoutAdd" ><A NAME="v%3AtimeoutAdd" ></A ></A ><B >timeoutAdd</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#timeoutAdd" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Sets a function to be called at regular intervals, with the default priority <TT ><A HREF="System-Glib-MainLoop.html#v%3ApriorityDefault" >priorityDefault</A ></TT >. The function is called repeatedly until it returns <TT >False</TT >, after which point the timeout function will not be called again. The first call to the function will be at the end of the first interval. </P ><P >Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays). </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:timeoutAddFull" ><A NAME="v%3AtimeoutAddFull" ></A ></A ><B >timeoutAddFull</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#timeoutAddFull" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Sets a function to be called at regular intervals, with the given priority. The function is called repeatedly until it returns <TT >False</TT >, after which point the timeout function will not be called again. The first call to the function will be at the end of the first interval. </P ><P >Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays). </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:timeoutRemove" ><A NAME="v%3AtimeoutRemove" ></A ></A ><B >timeoutRemove</B > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#timeoutRemove" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Remove a previously added timeout handler by its <TT ><A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:idleAdd" ><A NAME="v%3AidleAdd" ></A ></A ><B >idleAdd</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#idleAdd" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Add a callback that is called whenever the system is idle. </P ><UL ><LI > A priority can be specified via an integer. This should usually be <TT ><A HREF="System-Glib-MainLoop.html#v%3ApriorityDefaultIdle" >priorityDefaultIdle</A ></TT >. </LI ><LI > If the function returns <TT >False</TT > it will be removed. </LI ></UL ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:idleRemove" ><A NAME="v%3AidleRemove" ></A ></A ><B >idleRemove</B > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#idleRemove" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Remove a previously added idle handler by its <TT ><A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:IOCondition" ><A NAME="t%3AIOCondition" ></A ></A ><B >IOCondition</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#IOCondition" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Flags representing a condition to watch for on a file descriptor. </P ><DL ><DT ><TT >IOIn</TT ></DT ><DD > There is data to read. [<TT >IOOut</TT >] Data can be written (without blocking). [<TT >IOPri</TT >] There is urgent data to read. [<TT >IOErr</TT >] Error condition. [<TT >IOHup</TT >] Hung up (the connection has been broken, usually for pipes and sockets). [<TT >IOInvalid</TT >] Invalid request. The file descriptor is not open. </DD ></DL ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:IOIn" ><A NAME="v%3AIOIn" ></A ></A ><B >IOIn</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IOOut" ><A NAME="v%3AIOOut" ></A ></A ><B >IOOut</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IOPri" ><A NAME="v%3AIOPri" ></A ></A ><B >IOPri</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IOErr" ><A NAME="v%3AIOErr" ></A ></A ><B >IOErr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IOHup" ><A NAME="v%3AIOHup" ></A ></A ><B >IOHup</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IOInvalid" ><A NAME="v%3AIOInvalid" ></A ></A ><B >IOInvalid</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IOCondition')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:IOCondition" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ABounded" >Bounded</A > <A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AEnum" >Enum</A > <A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="System-Glib-Flags.html#t%3AFlags" >Flags</A > <A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:inputAdd" ><A NAME="v%3AinputAdd" ></A ></A ><B >inputAdd</B ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#inputAdd" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: FD</TD ><TD CLASS="rdoc" >a file descriptor </TD ></TR ><TR ><TD CLASS="arg" >-> [<A HREF="System-Glib-MainLoop.html#t%3AIOCondition" >IOCondition</A >]</TD ><TD CLASS="rdoc" >the condition to watch for </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A ></TD ><TD CLASS="rdoc" >the priority of the event source </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >the function to call when the condition is satisfied. The function should return False if the event source should be removed. </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ><TD CLASS="rdoc" >the event source id </TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" >Adds the file descriptor into the main event loop with the given priority. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:inputRemove" ><A NAME="v%3AinputRemove" ></A ></A ><B >inputRemove</B > :: <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#inputRemove" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Priority" ><A NAME="t%3APriority" ></A ></A ><B >Priority</B > = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#Priority" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Priorities for installing callbacks. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:priorityLow" ><A NAME="v%3ApriorityLow" ></A ></A ><B >priorityLow</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#priorityLow" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:priorityDefaultIdle" ><A NAME="v%3ApriorityDefaultIdle" ></A ></A ><B >priorityDefaultIdle</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#priorityDefaultIdle" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:priorityHighIdle" ><A NAME="v%3ApriorityHighIdle" ></A ></A ><B >priorityHighIdle</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#priorityHighIdle" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:priorityDefault" ><A NAME="v%3ApriorityDefault" ></A ></A ><B >priorityDefault</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#priorityDefault" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:priorityHigh" ><A NAME="v%3ApriorityHigh" ></A ></A ><B >priorityHigh</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#priorityHigh" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MainLoop" ><A NAME="t%3AMainLoop" ></A ></A ><B >MainLoop</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#MainLoop" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A main event loop abstraction. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainLoopNew" ><A NAME="v%3AmainLoopNew" ></A ></A ><B >mainLoopNew</B ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainLoopNew" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TD ><TD CLASS="rdoc" ><TT >context</TT > - the context to use, or <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#v%3ANothing" >Nothing</A ></TT > to use the default context </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" ><TT >isRunning</TT > - <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT > to indicate that the loop is running; <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3AFalse" >False</A ></TT > otherwise </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A ></TD ><TD CLASS="rdoc" >the new <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A ></TT > </TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" >Create a new <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A ></TT >. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainLoopRun" ><A NAME="v%3AmainLoopRun" ></A ></A ><B >mainLoopRun</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainLoopRun" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Runs a main loop until <TT ><A HREF="System-Glib-MainLoop.html#v%3AmainLoopQuit" >mainLoopQuit</A ></TT > is called on the loop. If this is called for the thread of the loop's <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TT >, it will process events from the loop, otherwise it will simply wait. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainLoopQuit" ><A NAME="v%3AmainLoopQuit" ></A ></A ><B >mainLoopQuit</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainLoopQuit" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Stops a <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A ></TT > from running. Any calls to mainLoopRun for the loop will return. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainLoopIsRunning" ><A NAME="v%3AmainLoopIsRunning" ></A ></A ><B >mainLoopIsRunning</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainLoop" >MainLoop</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainLoopIsRunning" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Checks to see if the main loop is currently being run via mainLoopRun. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MainContext" ><A NAME="t%3AMainContext" ></A ></A ><B >MainContext</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#MainContext" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An opaque datatype representing a set of sources to be handled in a main loop. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainContextNew" ><A NAME="v%3AmainContextNew" ></A ></A ><B >mainContextNew</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainContextNew" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Creates a new <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainContextDefault" ><A NAME="v%3AmainContextDefault" ></A ></A ><B >mainContextDefault</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainContextDefault" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The default <TT ><A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A ></TT >. This is the main context used for main loop functions when a main loop is not explicitly specified. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainContextIteration" ><A NAME="v%3AmainContextIteration" ></A ></A ><B >mainContextIteration</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainContextIteration" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Runs a single iteration for the given main loop. This involves checking to see if any event sources are ready to be processed, then if no events sources are ready and <TT >mayBlock</TT > is <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT >, waiting for a source to become ready, then dispatching the highest priority events sources that are ready. Note that even when <TT >mayBlock</TT > is <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT >, it is still possible for <TT ><A HREF="System-Glib-MainLoop.html#v%3AmainContextIteration" >mainContextIteration</A ></TT > to return (0), since the the wait may be interrupted for other reasons than an event source becoming ready. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainContextFindSourceById" ><A NAME="v%3AmainContextFindSourceById" ></A ></A ><B >mainContextFindSourceById</B > :: <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#mainContextFindSourceById" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >newtype</SPAN > <A NAME="t:Source" ><A NAME="t%3ASource" ></A ></A ><B >Source</B > </TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#Source" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Source" ><A NAME="v%3ASource" ></A ></A ><B >Source</B > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-ForeignPtr.html#t%3AForeignPtr" >ForeignPtr</A > <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A >)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sourceAttach" ><A NAME="v%3AsourceAttach" ></A ></A ><B >sourceAttach</B > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="System-Glib-MainLoop.html#t%3AMainContext" >MainContext</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3AHandlerId" >HandlerId</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#sourceAttach" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sourceSetPriority" ><A NAME="v%3AsourceSetPriority" ></A ></A ><B >sourceSetPriority</B > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#sourceSetPriority" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sourceGetPriority" ><A NAME="v%3AsourceGetPriority" ></A ></A ><B >sourceGetPriority</B > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="System-Glib-MainLoop.html#t%3APriority" >Priority</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#sourceGetPriority" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sourceDestroy" ><A NAME="v%3AsourceDestroy" ></A ></A ><B >sourceDestroy</B > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#sourceDestroy" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sourceIsDestroyed" ><A NAME="v%3AsourceIsDestroyed" ></A ></A ><B >sourceIsDestroyed</B > :: <A HREF="System-Glib-MainLoop.html#t%3ASource" >Source</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/System-Glib-MainLoop.html#sourceIsDestroyed" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >