 
                            ...
The C99 standard dictates the use of volatile sig_atomic_t. The type of sig_atomic_t is implementation defined, although there are bounding constraints. To be fully compliant, one can only assign integer values from 0 to 127, inclusive, to a sig_atomic_t.
...