On 28/02/10 13:18, SteveG wrote:
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 ?

After more study (read as: more google) - it may be related to the kernel changes in Ubuntu 10.04 - seems to be many unrelated programs suffering similar problems - will continue this story as I find more :)


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

Reply via email to