home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / config / i386 / disable.s < prev    next >
Encoding:
Text File  |  1997-01-27  |  1.1 KB  |  72 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: disable.s,v 1.16 1997/01/27 07:53:44 iaint Exp $
  4.  
  5.     Desc: Exec function Disable
  6.     Lang: english
  7. */
  8.  
  9. /******************************************************************************
  10.  
  11.     NAME
  12.     AROS_LH0(void, Disable,
  13.  
  14.     LOCATION
  15.     struct ExecBase *, SysBase, 20, Exec)
  16.  
  17.     FUNCTION
  18.  
  19.     INPUTS
  20.  
  21.     RESULT
  22.  
  23.     NOTES
  24.  
  25.     EXAMPLE
  26.  
  27.     BUGS
  28.  
  29.     SEE ALSO
  30.  
  31.     INTERNALS
  32.  
  33.     HISTORY
  34.  
  35. ******************************************************************************/
  36.  
  37.     #include "machine.i"
  38.  
  39.     .text
  40.     .balign 16
  41.     .globl    AROS_SLIB_ENTRY(Disable,Exec)
  42.     .type    AROS_SLIB_ENTRY(Disable,Exec),@function
  43.  
  44. AROS_SLIB_ENTRY(Disable,Exec):
  45.     call  AROS_CDEFNAME(disable)
  46.     pushl %eax
  47.     movl  8(%esp),%eax
  48.     incb  IDNestCnt(%eax)
  49.     popl  %eax
  50.     ret
  51.  
  52.     .globl    AROS_CDEFNAME(disable)
  53.     .type    AROS_CDEFNAME(disable),@function
  54. AROS_CDEFNAME(disable):
  55.     pushl %eax
  56.     pushl %ecx
  57.     pushl %edx
  58.  
  59.     pushl $-1
  60.     pushl $0
  61.     leal  4(%esp),%eax
  62.     pushl %eax
  63.     pushl $SIG_BLOCK
  64.     call  AROS_CSYMNAME(sigprocmask)
  65.     addl  $16,%esp
  66.  
  67.     popl  %edx
  68.     popl  %ecx
  69.     popl  %eax
  70.  
  71.     ret
  72.