title: divide by zero exception handling in Linux
body: <p>I am curious to understand the divide by zero exception handling in linux. When divide by zero operation is performed, a trap is generated i.e. <code>INT0</code> is sent to the processor and ultimately <code>SIGFPE</code> signal is sent to the process that performed the operation.</p>
  
  <p>As I see, the divide by zero exception is registered in <code>trap_init()</code> function as </p>
  
  <pre><code>set_trap_gate(0, &amp;divide_error);
  </code></pre>
  
  <p>I want to know in detail, what all happens in between the <code>INT0</code> being generated and before the <code>SIGFPE</code> being sent to the process?</p>