;	0001	module wake (main = wake)=
;	0002	begin
;	0003	
;	0004	!	Wakes up a process has been put to sleep via the $suspnd system
;	0005	!	service.  The pid of the target process is obtained via GET_PID.
;	0006	!
;	0007	!	R.J. FitzPatrick		July 1979
;	0008	!	Smithsonian Astrophysical Observatory, Cambridge MA
;	0009	!
;	0010	library 'SYS$LIBRARY:STARLET.L32';
;	0011	
;	0012	own
;	0013		status: long,
;	0014		pid: long;
;	0015	
;	0016	external routine
;	0017		get_pid;
;	0018	
;	0019	global routine wake (start_add, cli_callback) =
;	0020	    begin
;	0021		status = get_pid (.cli_callback, pid) ;
;	0022		if .status neq ss$_normal then return .status;
;	0023		if .pid eql 0 then return ss$_nonexpr;
;	0024		$resume( pidadr=pid )
;	0025	    end;


	.TITLE  WAKE

	.PSECT  $OWN$,NOEXE,2

STATUS: .BLKB   4
PID:	.BLKB   4

	.EXTRN  GET_PID, SYS$RESUME

	.PSECT  $CODE$,NOWRT,2

	.ENTRY  WAKE, ^M<R2>			     ;WAKE, Save R2							      ; 0019
	MOVAB   W^PID, R2			     ;PID, R2								      ;
	PUSHL   R2				     ;R2								      ; 0021
	PUSHL   8(AP)				     ;CLI_CALLBACK							      ;
	CALLS   #2, W^GET_PID			     ;#2, GET_PID							      ;
	MOVL    R0, -4(R2)			     ;R0, STATUS							      ;
	CMPL    -4(R2), #1			     ;STATUS, #1							      ; 0022
	BEQL    1$				     ;1$								      ;
	MOVL    -4(R2), R0			     ;STATUS, R0							      ;
	RET     				     ;									      ;
1$:	TSTL    (R2)				     ;PID								      ; 0023
	BNEQ    2$				     ;2$								      ;
	MOVZWL  #2280, R0			     ;#2280, R0								      ;
	RET     				     ;									      ;
2$:	CLRL    -(SP)				     ;-(SP)								      ; 0024
	PUSHL   R2				     ;R2								      ;
	CALLS   #2, @#SYS$RESUME		     ;#2, @#SYS$RESUME							      ;
	RET     				     ;									      ; 0019

; Routine Size:  54 bytes


;	0026	end
;	0027	eludom






;				       PSECT SUMMARY
;
;	Name		 Bytes			       Attributes
;
;  $OWN$          	     8    WRT,  RD ,NOEXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
;  $CODE$         	    54  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  DBA0:[SYSLIB]STARLET.L32;2		      2688         3         0       109





; Compilation Complete

	.END	WAKE
