home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!cs.utexas.edu!sdd.hp.com!saimiri.primate.wisc.edu!usenet.coe.montana.edu!rpi!news.ans.net!cmcl2!rlgsc.com!gezelter
- From: gezelter@rlgsc.com
- Newsgroups: comp.os.vms
- Subject: Re: sys$hiber/sys$wake problems?
- Message-ID: <1992Nov11.003646.249@rlgsc.com>
- Date: 11 Nov 92 00:36:46 EST
- References: <BxIAFn.2p6@unx.sas.com> <1992Nov10.180054.23127@fripp.ri.cadre.com> <BxIrqM.2pF@unx.sas.com>
- Organization: Robert Gezelter Software Consultant, Flushing, NY
- Lines: 48
-
- In article <BxIrqM.2pF@unx.sas.com>, sasjzs@falcon.unx.sas.com (Joseph Slater) writes:
- >
- > In article <1992Nov10.180054.23127@fripp.ri.cadre.com>,
- > rj@cadre.com (Rob deFriesse) writes:
- > |>
- > |> If one or more wakeup requests are issued for the process while it is not
- > |> hibernating, the next hibernate call returns immediately; that is, the
- > |> process does not hibernate. ...
- > |>
- > |>This is, in fact, the correct behavior for a semaphore. If it doesn't work
- > |>this way, your process could block indefinately.
- > |>
- > Hi Rob,
- > And all others that responded via e-mail. You are correct,
- > however we aren't the ones calling sys$wake. After leaving
- > sys$hiber the next-to-last time, the bit pcb$v_wakepen bit is
- > clear. The next time we start to enter sys$hiber it is set and
- > we don't call sys$wake anywhere in between. (This is what
- > upsets us as we hope to set up things before calling sys$wake,
- > and when we don't we exit from hiber in an unknown state). I
- > suspect (thanks Matt) the PPL$ runtime library as this scheme
- > has worked successfully for many years and PPL is the only new
- > variable in the scheme. My next task is to try to trap calls
- > to sys$wake from the main and sharable images. Any ideas on
- > doing this? I may have a hard time convicing our system manager
- > to let me patch the system service vectors. Read that as slim to none.
- >
- > Joe Slater
- > sasjzs@vms.sas.com
- > Mine opinion is just that.
- --
- Joe,
-
- Another option. Have a flag variable which you set from your WAKE
- routine indicating that there is work to be done by the mainline
- code. Then, when you get returned from the HIBER, if the flag
- variable is NOT set, loop back to the HIBER. I first encountered
- almost this exact problem in RSX, where a task could be
- spuriously unstopped.
-
- - Bob
- +--------------------------------------------------------------------------+
- | Robert "Bob" Gezelter E-Mail: gezelter@rlgsc.com |
- | Robert Gezelter Software Consultant Voice: +1 718 463 1079 |
- | 35-20 167th Street, Suite 215 Fax: (on Request) |
- | Flushing, New York 11358-1731 |
- | United States of America |
- +--------------------------------------------------------------------------+
-