Skip to contentSkip to conversation

Signaling dosemu application to kill itself from Linux

DISCUSSION Stas Sergeev 2 participants 2 messages Apr 7, 2005 – Apr 8, 2005

lore
Share & tools
lore
#0 lore raw

Hello.

[email protected]

Quoted 2 lines

Negatory on that, no raw kbd or strange stuff, all vanilla...

Yes, your config looks pretty save.
Note: you don't need to uncomment the options unless you are going to change them.

Why are you using the direct access to the serial ports? The emulated access of the CVS dosemu is nearly as fast as the real one.
I'd like you to revoke the root privs from a dosemu process before the further experementations, but if you need an LPT too, then that's a problem.

Quoted 3 lines

Advantek i486 Cytrix tiny mobo. I do have a serial port, can try logging on a getty there.

Yes, please do this and produce a stack trace with gdb when dosemu is hanging.
Alternatively, send a SIGSEGV to dosemu when it is hanging, and it will dump a stack trace into a log.

Quoted 3 lines

just spinning. There is an assembly language TSR that is running that I bet is holding the dosemu thread active or hung.

No DOS program should hold a dosemu when it gets a SIGTERM, or it is a bug. The stack trace can help. Also, how exactly are you killing it? SIGKILL can help too:)

Quoted 2 lines

Is there a way (INT 1Ah?) to force dosemu to reset its time to Linux's, on request?

The mentioned patch was just reading a linux time directly, so with the $_timemode="linux" you don't need to reset anything at all.
I am sure however your problem is not related to RTC, it is a problem of the PIT most likely. The patch won't help. You'll have to dig a PIT code, which is just a big mess :( It boils down to the cputime.c at one point, but the parts of it are all around the sources. You'll certainly have fun tracking it. One thing to try is $_rdtsc=on/off (don't remember if I told you that already)

#1 lore raw
Quoted 2 lines · On Thu, 07 Apr 2005 21:50:26 +0400 Stas Sergeev <[email protected]> wrote:

Why are you using the direct access to the serial ports?

Client requested it!

Quoted 5 lines

I'd like you to revoke the root privs from a dosemu process before the further experementations, but if you need an LPT too, then that's a problem.

Client requirement also, but will test as non-root, anyway. Problem is that I believe we already did...

Quoted 9 lines
Quoted 3 lines

Advantek i486 Cytrix tiny mobo. I do have
a serial port, can try logging on a getty
there.

Yes, please do this and produce a stack trace with gdb when dosemu is hanging.
Alternatively, send a SIGSEGV to dosemu when it is hanging, and it will dump a stack trace into a log.

Will do ASAP.

Quoted 4 lines

The mentioned patch was just reading a linux time directly, so with the $_timemode="linux" you don't need to reset anything at all.

So the PIT is goin crazy after about 3weeks of running??? If that is so, then why is the Linux time correct, while the dosemu one goes BAD, since with the timemode patch, dosemu is reading the linux time directly??? Next time that happens, I will have the customer exit the application and from DOS prompt do a date command, see what it shows?

Quoted 3 lines

One thing to try is $_rdtsc=on/off (don't remember if I told you that already)

You probably did, to my boss at ToyeCorp. He got me talking to you directly now, hehe 8)

Tony

--
__ __ _ I N C. http://www.sysdev.org

/ __|\\// __||  \  __   __          /         [email protected]
\__ \ \/\__ \||)|/ O_)\/ /        \/  System Tools / Utilities
|___/ || ___/|_ /\___|\_/        WIntel / Linux Device Drivers