title: Return value of signal
body: <p>I was reading about the signal function, the definition is:<br>
  <code>void (*signal(int sig, void (*func)(int)))(int);</code>
  and the return value is:</p>
  
  <p><code>If the request can be honored, signal() shall return the value of func for the most recent call to signal() for the specified signal sig. Otherwise, SIG_ERR shall be returned and a positive value shall be stored in errno.</code></p>
  
  <p>The doubt is: isn't signal a void function? Should it return nothing?</p>