TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: ALL
from: IVAN TODOROSKI
date: 1998-11-13 02:30:00
subject: the PM message queue

Have you ever wondered what is that clock cursor doing in a true
  preemptive multitasking OS?

  Why is it that when you double click on the Drive A: icon the clock
  cursor appears and there is nothing you can do untill the folder
  opens?

  You can see that the OS is running perfectly, just start a window with
  DIR /S in it before trying to open the Drive A: folder. You'll notice
  that the background activity doesn't stop (unlike Win95), but you
  still can't click on any icon or switch to any window untill the
  folder opens. Similar thing happens when starting some other programs
  or WPS objects.

  Only the user input is blocked, while the rest of the programs run
  totaly unhindered. I think it is very sad that for all that they did,
  the designers of OS/2 didn's pay attention to this little detail.

  A mis-behaving application can (and does) sometimes even block the PM
  in this way, if it dies or hangs in middle of its message processing.

   The only way is to kill the WPS with some ctrl-alt-del monitoring
   utility, or press ctrl-esc and wait until the "application not
   responding" dialog pops up (which doesn't always work).

   I have heard that this is because the PM has a single serialized
   message queue for all applications, and no application can receive
   messages while another is processing its message. A solution to
   this would be multiple asynchronous message queues for each
   application.

  Well, to tell you the truth, I'm not really sure what all this means,
  since I don't know that much about message processing, so if someone
  could enlighten me on the internal mechanisms of the PM message
  processing, message queues, and explain why a single message queue
  prevents concurrent processing of messages etc. I'd be most grateful!

   Please don't "soften" the explanation too much, just give the hard
   technical information (to the best of your knowledge of course), and
   if I still don't understand, I'll ask again, don't worry. :)

   Win98 doesn't seem to have this problem, since you can always click
   on the Start button (when it isn't crashing that is), and if
   Microsoft managed to implement this in their crappy OS, I don't see
   why the brilliant IBM programmers from the OS/2 team couldn't?
   Especially since it doesn't seem that hard compared to all the work
   they've already put in this master-piece of OS design?

   Apparently XFree86/OS2 also has multiple message queues, since you
   can always click around the desktop and switch windows no matter
   which application is loading and what it is doing. So, it can be
   done on OS/2!

  Is there a patch, a FixPak or a workaround that would fix this, or is
  there a third party solution which can make the PM use multiple
  asynchronous queues?

   Is there ANY way for programmers outside of IBM to do this, is it a
   matter of rewriting and replacing a PM DLL(s), where is the problem?

                                                            - Ivan -

.!. Strike any user when ready. . .
--- Terminate 5.00/Pro [OS/2]
 þ TerMail/QWK þ  
* Origin: GET ALL YOUR FIDO HERE! telnet://bbs.docsplace.org (1:3603/140)
SEEN-BY: 396/1 632/0 371 633/260 267 270 371 635/506 728 639/252 670/218
@PATH: 3603/140 396/1 633/260 635/506 728 633/267

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™.