signal
======

⠪
-----

#include <signal.h>

void       (*signal(int sig, void (*func)(int)))(int);

ᠭ
----------

   ⢥  ஥ ᪫⥫쭮  ணࠬ,
⨯   0.   ⠪ ᮮ  ஬ ᨭ஭ ᮡ⨥
 ணࠬ, ⨯   -    ctrl-break- 
뢠.

 ஭㬥஢ 0 .. 255  ணࠬ 뢠  256 .. 287 
᪫祭 ( ᪫祭  256); 㣨 ᯥ᪨  ॠ樨
 ।  " <signal.h> ' (. ).  ᨣ   
,    ᯮ짮  ७ᨬ ணࠬ.

 㬮砭 ࠡ⪠   ᨣ   traceback ( ⥪,
 뢠 ᫥⥫쭮 맮 㭪樨 ਢ  
஦ ᨣ)  ਩ ४饭 ࠡ ணࠬ.

 㭪      㬮砭  
ᯥ᪮ ᨣ.  ॣ FUNC  ࠡ稪 ᨣ  
ᨣ SIG. ᫥ ⮣,   ॣ  㭪  ࠡ稪 
ᯥ᪮ ᨣ,  㤥 뢠,   ᨣ ந室.
믮 ணࠬ 㤥 ਮ⠭    ࠡ稪 
뢠 "longjmp" (longjmp.).

  । SIG_DFL  祭 FUNC, ⮡  ࠡ
ᨣ  ᨣ SIG  祭  㬮砭 (⠪ __
djgpp_exception_toggle,  ண ᯮᮡ ⠭ ࠡ 
ᨣ  祭  㬮砭), SIG_ERR, ⮡ 뤠 訡,  
ᨣ, 砥,  SIG_IGN   ᨣ. ࠡ稪 ,
  । - ࠢ 㭪樨 C,   뢠  㭪,
 ANSI/POSIX ᯥ䨪樨 ᪠  ࠡ稪 ᨣ. 
ᨬ쭮 ७ᨬ, ࠡ稪   뢠  ᪫祭
  ⮫쪮  맮 `signal',  祭  ꥪ⠬
 ⨯ "volatile sig_atomic_t' (।  "int"  " <signal.h> ')
 . ࠡ稪   뢠  ⠪ 
஢묨   (⠪, ⮡  㠫쭮 堭  
 ᢮   ),   , ࠡ稪  ணࠬ
뢠  ⠪ ,  뢠 `abort', `exit' or `longjmp'.

騥 ᨣ ।  " <signal.h> ':

`SIGABRT'
 ਩ ४饭 ࠡ.  饥 ६ ᯮ ⮫쪮 
ப `assert', ⮡  ணࠬ,  ந室 ᡮ
(`assert')..

`SIGFPE'
   饩 ⮩.   砥 ᪫祭 
  (Int 00h), ᪫祭 ९ (Int 04h),   x87 ᪫祭
ᮯ,  ᣥ஢ CPU (Int 10h),  ᮯ஬
।⢥ (Int 75h).

`SIGILL'
 ⨬ 믮.  饥 ६ ⮫쪮  
 / ⨬ ᪫祭.

`SIGINT'
 뢠. ,  "Ctrl-C"  "Ctrl-Break" (Int 1Bh)
 .     ,   뢠 ᮫ 
筮 ०,  砥    ० 饭  "setmode"
(setmode),  "SIGINT"  १ ⮣   "Ctrl-C"
஢.  - ⠪  ணࠬ (⨯ Emacs)   
ᯮᮡ묨  " ^ C ' ᨬ   㣮 ᨬ. ᯮ
 㭪 " __ djgpp_set_ctrl_c ', ⮡ ⠭ 
"SIGINT",  "Ctrl-C" , ᫨  㦤  ⮬. . __
djgpp_set_ctrl_c,  ஡⥩  ⮬,     믮.
"Ctrl-Break" ᥣ  "SIGINT".

DJGPP 墠뢠 ⭮ 뢠   (Int 09h) ⮡ 
ᯮᮡ ஢ "SIGINT"  ⢥   "Ctrl-C";   
,   ⠭ ࠡ稪  뢠 .

`SIGSEGV'
 ⨬ 㯠   (襭 樨).  
⢥    ᫥ ᪫祭: ࠭  ॢ襭  
(Int 05h),  ᪫祭  ᪫祭  ணࠬ ॠ樨  ᮡ
 (Int 08h), 襭 ࠭筮 ᥣ ᮯ஬ (Int 09h),
   (Int 0Bh), 訡 ⥪ (Int 0Ch), 饥 襭 
(Int 0Dh),  ⢨ ࠭ (Int 0Eh).  ,  Int 09h
⮫쪮 ᣥ஢  80386 ; i486    CPU 뢠 Int
0Dh,  ᮯ 頥    ࠭.

`SIGTERM'
  ନ.  饥 ६ ᯮ.

  ⮣  ।  ANSI,   ᯮ짮 
樥 "gcc"  樥 `-ansi'.

`SIGALRM'
਩ ᨣ.  ᫥ ண ਮ ६ ᫥ 饭
 筮 㭪樨 `alarm'.

`SIGHUP'
 ४饭 裡. ᯮ.

`SIGKILL'
 㭨⮦. ᯮ.

`SIGPIPE'
 ࠧ⣮ . ᯮ.

`SIGQUIT'
 室. ᯮ.

`SIGUSR1'
।塞 짮⥫ ᨣ  1.

`SIGUSR2'
।塞 짮⥫ ᨣ  2.

   । ANSI C  POSIX,    ᯮ짮 
஢  ﬨ "-ansi"  "-posix"  "gcc".

`SIGTRAP'
  誨. ஢  ⢥  ᪫祭 ⫠稪 (Int
01h)  ᪫祭 ஫쭮 窨 (Int 03h).

`SIGNOFP'
 ⢨ ᮯ. , ᫨   ᮯ (
饩 ⮩),   ᮯ  ⠭ (Int 07h).

`SIGTIMR'
 . ᯮ "setitimer"  "alram" 㭪ﬨ (setitimer,
alram).

`SIGPROF'
 䨫஢騪. ᯮ 䠩஬,  樨  樥 "-PG"
 "gcc".

Return Value
-----------

।騩 ࠡ稪  ᨣ SIG,  "SIG_ERR", ᫨ 祭 SIG - 
⨬.

ਬ砭  堭 
------------------------------------

- ⮭ ᯥ⮢ ᯮ ணࠬ  饭 ०  -,
ࠡ稪 ᨣ   ᭮ 뢠  ࠡ稪 
뢠. ⥫쭮, DJGPP 堭 ࠡ⪨ ᮡ 権 ਭ
, ⮡  ࠡ稪 ᨣ  맢   砩,  ணࠬ
室  饭 ०  ࠣ    .  砥
, ᫨ ᪫祭 ந室,   ६   室  ॠ쭮
०,  ⮬,   ணࠬ 뢠 ஥ 㦨 DOS,
ࠡ稪 ᨣ  㤥 뢠    饭. ਬ, ᫨
 뢠 "read" ( "scanf",  " gets') ⮡  ⥪   
 " Ctrl-C ',  㤥   "enter", ⮡  " read
' 饭, ⮡ ⠢ ࠡ稪 ᨣ " SIGINT ' 뢠. 㣠
⥫쭠  ⮩ ॠ樨  , ,  ணࠬ 
ࠣ    (  祭  横,  ⮫쪮
ᯮ 祭  ॣ),      ࢠ.
