[mod.computers.vax] HELP with signals on ULTRIX 1.1

david%UPenn-DSL%upenn.CSNET@CSNET-RELAY.ARPA (03/18/86)

The problem at hand deals with ULTRIX 1.1 on a VAX 750.

I am doing some stuff with signals and I have gotten bogged down in the
	implementation details in the kernel.  I am trying to write some
	code that does a non-standard exit from an interrupt routine, which
	means that I have to deal with the signal call frame linkages by
	hand.

It seems that the kernel, upon delivering the first signal, creates a section
	of code above the stack.  This section of code then calls the
	interrupt routine that was specified by the "signal()" call.  ADB 
	names this section of code "sigtramp".

When the interrupt routine returns to "sigtramp", the assembly instructions 
	that are executed in "sigtramp" are:

			ret		/* Return from sigtramp to code
						that is also above stack */
			chmk	$8b
			rei

Now this code works fine, and execution returns to the point of interruption
	in the routine interrupted by the signal.  BUT, there is no such
	system call as 8b!  The entry in the system entry table for 8b is
	"nosys()".  "nosys" should terminate a process with signal number 12,
	which is "illegal system call".

Can anyone tell me what this "chmk $8b" is really doing?  It is not killing
	my process.  I also cannot get a "sigstack()" call to work.  The call
	exits normally, but the process does not execute on the specified
	interrupt stack when a signal is delivered.

T'anx ver' much - in advance

	DAVE. F.

PS>  Please reply to david%UPenn-DSL@UPENN