home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / mswindo / programm / win32 / 908 < prev    next >
Encoding:
Internet Message Format  |  1992-09-10  |  1.7 KB

  1. From: edwardm@hpcuhe.cup.hp.com (Edward McClanahan)
  2. Date: Thu, 10 Sep 1992 00:02:42 GMT
  3. Subject: Re: setjmp/longjmp
  4. Message-ID: <98160006@hpcuhe.cup.hp.com>
  5. Organization: Hewlett Packard, Cupertino
  6. Path: sparky!uunet!wupost!sdd.hp.com!scd.hp.com!hplextra!hpcc05!hpcuhb!hpda!hpcss01!hpcuhe!edwardm
  7. Newsgroups: comp.os.ms-windows.programmer.win32
  8. References: <1992Sep8.202606.13762@xanadu.com>
  9. Lines: 25
  10.  
  11. ravi@xanadu.com (Ravi Pandya) writes:
  12.  
  13. > The July NT x86 toolset does not include setjmp/longjmp - the header
  14. > file is ifdef'ed out, and it is not in the library. It is a fairly
  15. > straightforward piece of assembly code to write, but before I do it,
  16. > I'd like to know if there are any subtle reasons why the obvious
  17. > approach won't work. Does NT do any odd messing around with stacks,
  18. > privilege levels, etc that would make it hard? I have a suspicion that
  19. > something like this is the reason it is not in the library.
  20.  
  21. > Unfortunately, our port from UNIX to NT cannot proceed without it, or
  22. > some facsimile, since it is used in our own exception handling
  23. > package, which is used everywhere. We could move it over to the MS
  24. > exception handler, except that it doesn't seem to be available nor
  25. > documented yet... Any suggestions?
  26.  
  27. I suppose that one reason NT may have commented out setjmp/longjmp is
  28. to avoid dealing with longjumps out of user signal handlers.  This sounds
  29. like your primary use of the function.  I imagine that some NT-internal
  30. process/thread/signal management code may get confused if your signal
  31. handlers don't return...  This is not an unsolvable problem, but uSoft
  32. probably has some work to do in the Deliver User Signals code to get this
  33. to work properly or they would have enabled the setjmp/longjmp functionality.
  34.  
  35. Just a thought...
  36.