From: <kr_...@us...> - 2003-03-14 15:23:39
|
Update of /cvsroot/htoolkit/port/src/cbits/GTK In directory sc8-pr-cvs1:/tmp/cvs-serv20413/src/cbits/GTK Modified Files: Util.c Log Message: After this commit the osStart function will allow the lightweight Haskell threads to continue their execution during GUI main loop. Index: Util.c =================================================================== RCS file: /cvsroot/htoolkit/port/src/cbits/GTK/Util.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Util.c 3 Mar 2003 19:03:24 -0000 1.5 --- Util.c 14 Mar 2003 15:23:34 -0000 1.6 *************** *** 55,58 **** --- 55,61 ---- void osStart() { + HaskellObj ret; + SchedulerStatus rc; + while (gActiveObjects > 0) { *************** *** 66,73 **** } if (gActiveObjects <= 0) return; ! gtk_main_iteration(); } --- 69,80 ---- } + rc=rts_evalIO(rts_apply((HaskellObj)runIO_closure,&GHCziConc_yield_closure) ,&ret); + rts_checkSchedStatus("yield",rc); + if (gActiveObjects <= 0) return; ! if (howManyThreadsAvail() < 1) ! gtk_main_iteration(); } |