home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / uupoll068.lha / source / fork2.a < prev    next >
Encoding:
Text File  |  1992-08-03  |  792 b   |  44 lines

  1.                 OPT L+,X+
  2.  
  3.                 SECTION CODE
  4.  
  5.                 INCDIR    include:ahead/
  6.                 INCLUDE    exec/funcdef.i
  7.                 INCLUDE    exec/exec_lib.i
  8.                 INCLUDE    dos/dos.i
  9.  
  10.                 INCLUDE fork.i
  11.  
  12.                 XDEF.L    _ForkExit
  13.  
  14. *        result = ForkExit( rc, data )
  15. *         d0.l             d0.l d1.l
  16.  
  17. _ForkExit        movem.l    d0/d1/d2/a0/a1/a2,-(sp)
  18.  
  19.                 move.l    d0,d2
  20.                 move.l    d1,a2
  21.  
  22.             * set rc value for access by parent process
  23.                 move.l    CHILDRC(a2),a0
  24.                 move.l    d2,0(a0)
  25.  
  26.             * send signal to parent process
  27.                 move.l    PARENTTASK(a2),a1
  28.                 move.l    PARENTTASKSIGNAL(a2),d1
  29.                 moveq    #1,d0
  30.                 asl.l    d1,d0
  31.                 movea.l    4.w,a6
  32.                 jsr        _LVOSignal(a6)
  33.  
  34.             * remove ForkExitInfo struct from memory
  35.                 move.l    a2,a1
  36.                 jsr        _LVOFreeVec(a6)
  37.  
  38.             * send given rc back to our caller
  39.                 move.l    d2,d0
  40.  
  41.                 movem.l    (sp)+,d0/d1/d2/a0/a1/a2
  42.                 rts
  43.  
  44.