| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Keyboard thread |
AdB> To abort a communicationsroutine (ZModem), working
AdB> with DosWaitMuxWaitSem, I want to write a thread that
AdB> sends a semaphore when the user presses . I can
AdB> get it working with a thread looping
AdB> KbdCharIn/DosDevIoCtl with KBD$ handle, but I can't
AdB> stop it other than killing the thread, and that
_beginthread(ZModem, ...);
do {
c = getch();
}while(c != 27);
DosPostEventSem(hevPleaseStop, ...);
I don't understand why:
- you are opening $KBD
- you are using keyboard ioctls
- you are looping on KbdCharIn (you make it sound like you are using the
"no wait" option, which is a no-no).
If, during the zmodem transfer, the user is not allowed to interact with
your program (except to press ESC), there is no reason for the extra
thread. Instead of checking a semaphore, you could check the keyboard
instead (kbhit + getch), after each zmodem block.
--- Maximus/2 3.00
* Origin: Sol 3 * Toronto * V.32 * (905)858-8488 (1:259/414)SEEN-BY: 50/99 78/0 270/101 620/243 711/401 409 410 413 430 808 809 934 955 SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809 @PATH: 259/414 400 99 250/99 3615/50 396/1 270/101 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.