Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

QuickWin: What is YIELDQQ?

emc-nyc
Beginner
487 Views
I am trying to build a quickwin application. It's pretty simple: just a menu for a file selection and a menu for setting some options (it's to print files with fortran carriage control, using the windows printing system).
In one of the examples, there is a routine named "YIELDQQ" which is called in the loop which is used to permit the menus to be used.
First, what does this routine do?
Second, when I added it to my code, I got runtime errors stating I was trying to use QuickWin from a console application. I removed the call to yieldqq, and the problem went away. Why? I found the interface in the IFQWIN.F90 file, so it would seem to be a QuickWin routine.
0 Kudos
2 Replies
Steven_L_Intel1
Employee
487 Views
Interesting...
YIELDQQ is an obsolete PowerStation 1 routine, which is not documented. But it should still work. Its purpose is to notify Windows that it's ok to resume another thread if it's waiting - judicious use of this can improve responsiveness in some applications. Calling SLEEPQQ with a zero interval does the same thing.
In CVF, YIELDQQ was provided in both the QuickWin and console libraries, but in Intel Visual Fortran, it's only in the console library.
It should not be defined in module IFQWIN - it should be in IFCORE instead, and should be in both libraries. I'll report this to the library folks.
You can take out the YIELDQQ call or call SLEEPQQ(0)
0 Kudos
emc-nyc
Beginner
487 Views
Thanks,
CALL SLEEPQQ(0) worked perfectly (now, to get the rest of the application to do the same....:smileysad:)
0 Kudos
Reply