On 28/02/10 13:08, Andrew Brunner wrote:
I would never Process Application Messages from a timer thread.

I suspect a threadlock going on.  Does it work OK without the
application.processmessages?

On Sat, Feb 27, 2010 at 9:02 PM, SteveG<ste...@nevets.com.au>  wrote:
I have just updated Laz (svn) and Fpc(2.4.0) and have hit a problem with my
program. (worked ok with Laz 0.98 / fpc 2.?.?)

I use a dyn loaded lib with my app, which seems to be relevant.

If I call Application.ProcessMessages from within a TTimer.OnTimer event, my
app now locks solid showing 'futex_wait_queue_me' in the process listing.

I havent yet been able to narrow down an exact cause, as a simple app/lib
test works ok.

Would anybody know what would cause the above state (futex), as a clue to
the change in Laz/Fpc affecting my app ?

It does seem to work without the App.proc call. The problem I have seems to be caused by calling App.proc once my lib is loaded. This was the closest I have been able to get in narrowing down to a small test case. I call App.procMsgs from within my lib which is where the actual problem seems to be.

Is there any other way to create a 'pause' from within a library/function call (not sleep, as it 'stops' the program).
My 'pause' function is works as :>
StTm := NOW;
while NOW < (StTm + TmOut) do begin
  Sleep(1);
  Application.ProcessMessages;
end;

This worked ok before the Laz/fpc update, but seems to be broken now ?
This is just my 'guess' so far as where my problem lies ?

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to