lib/signals: fix for nitg-g
authorAlexis Laferrière <alexis.laf@xymus.net>
Fri, 16 May 2014 12:44:01 +0000 (08:44 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Wed, 21 May 2014 14:25:30 +0000 (10:25 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/signals.nit

index cb69dd7..89f4a1b 100644 (file)
@@ -24,6 +24,21 @@ module signals
        #include <stdio.h>
 
        /*
        #include <stdio.h>
 
        /*
+               This guard prevents errors by the C compiler when the Nit code imports this
+               module but do not use handle_signal. When it is _not_ used, the C type
+               SignalHandler and C function SignalHandler_receive_signal are not generated.
+               Which does not please the C compiler. This guard ensure that we compile this
+               code only if the type SignalHandler has been defined.
+
+               This is a HACK, FIXME by:
+               * Adding the macro to the FFI spec, or
+               * Attach the callbacks to this code block (or the module itself)
+               * Avoid using Nit types and callbacks or use them only in the C implementation
+                 of Nit method.
+       */
+       #ifdef NIT_TYPE_SignalHandler
+
+       /*
                Structure to manage each possible signals
                are used in an array of 32 maximum signals.
                This array is global to the software.
                Structure to manage each possible signals
                are used in an array of 32 maximum signals.
                This array is global to the software.
@@ -49,6 +64,8 @@ module signals
                        }
                }
        }
                        }
                }
        }
+
+       #endif
 `}
 
 # Receives the callback from system when a given signal arise
 `}
 
 # Receives the callback from system when a given signal arise