| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Pl/i Query |
Excerpted from message dated 12-10-95, David Noon to Murray Lesser:
DN>BTW, how is your multi-threaded test program coming along? Have you
>managed to get it to read a 'single' keystroke yet?
Hi Dave--
No. Although I can get my equivalent _getch routine to wait for the
keystroke, it still won't tell me what key was stroked. A knowledgeable
friend told me that I was having thunking problems, and suggested a
couple of things to try. Eliminating BYADDR as an attribute of a
pointer variable was wrong; running the test case produced an address
exception and died. The only reason I could tell that using the
SEGMENTED attribute was the right thing to do is that I found the part
of the "Language Reference" manual that told when thunking to 16-bit
code, any BYADDR pointer must also be SEGMENTED; making that change had
no effect on the performance of the test case!
But, I think he was absolutely right about it being a thunking
problem. Just to complicate matters, I inserted the part of my "_getch"
that worked into my multitasking test case, compiled and linked it. No
compile errors, no link errors. Then I ran it. Disaster! The
background beeping continued until I pressed a key, just as it should.
Then I got death message "IBM0951I ONCODE=3501 A system error occurred
in PL/I multithreading support for the DETACH statement." The "Messages
and Codes" manual added the information that "The ATTACH statement with
the THREAD option must be used to give a tasking variable a starting
value." Now, I hadn't changed the ATTACH statement with my addition, so
something in the "_getch" code must have caused the DETACH statement to
get detached from its ATTACH!
I guess I need to RTFM the foot-long shelf of PL/I manuals a little
more, and run a few more experiments, before I consult my friend again.
I think I'll try a package, and put all the KBD API variables in static
storage. If this doesn't work, I'll try compiling for tiled memory. As
a last resort, I suppose I could learn a simple language; there is a
demo of an OS/2 Pascal compiler in DevCon 9 (honest, Carolyn, I'm only
kidding!).
Regards,
--Murray
___
* MR/2 2.25 #120 * If you are not confused, you don't understand the situation
---
* Origin: 2" x 4" bbs - a basic board - (914) 271-9407 (1:2625/108)SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 517 628 713/888 800/1 7877/2809 @PATH: 2625/108 1 2619/211 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™.