I use DOSEMU with internal IPX support and VLM's to connect to a Netware File Server.
Everything works very well except that some of our programmes appear to either "crash"
or "pause" if they are left running for around 30 minutes.
This is especially apparent in our programmes which have a screen saver feature. The
screen saver routine is pretty simple and does some screen writes and some Novell
semaphore checking. It does also occur in some other programmes which while just
sitting there also do behind the scenes stuff like semaphore checking. Haven't
established exactly what is the difference as yet.
I haven't determined conclusively what happens but sometimes the programmes get "stack
overflow" errors, sometimes just lock permanently, sometimes get a network error
(DOSEMU still OK), and other times the programmes just "freeze" and then magically
come back into life after 10+ minutes (and show keypresses which had been stored while
the progamme had "froze").
Is it possible that Linux / DOSEMU has some kind of idle detection which is being
activiated when our programmes are in that state (eg screen saver) and this causes our
session to go into some kind of "sleep" state? As our programme is in fact still doing
certain things (eg semaphore checking) these commands could be building up in the
stack to either cause an error or a long delay to bring the session back alive if it
does recover?
I am working on getting good debug files to help diagnose this. I am also isolating
the offending code(s) in our programmes and will post here when I have that. I just
wondered if the above symptoms are obvious to someone.
Some more tidbits :-
1 When the session is "frozen" (temp or perm) DOSEMU debugs of keyboard /
network activity etc still go on looking normal.
2 When the session is "frozen" and I press a key to do something (eg get out of
screen saver or something else) the CPU util in TOP for that DOSEMU session goes up to
>90%.
Any ideas on where I can look further to see what is happening?
David Milligan