|
@@ -2227,7 +2227,8 @@ run_main_loop_until_done(void)
|
|
|
static void
|
|
|
signal_callback(int fd, short events, void *arg)
|
|
|
{
|
|
|
- uintptr_t sig = (uintptr_t)arg;
|
|
|
+ const int *sigptr = arg;
|
|
|
+ const int sig = *sigptr;
|
|
|
(void)fd;
|
|
|
(void)events;
|
|
|
|
|
@@ -2237,7 +2238,7 @@ signal_callback(int fd, short events, void *arg)
|
|
|
|
|
|
/** Do the work of acting on a signal received in <b>sig</b> */
|
|
|
void
|
|
|
-process_signal(uintptr_t sig)
|
|
|
+process_signal(int sig)
|
|
|
{
|
|
|
switch (sig)
|
|
|
{
|
|
@@ -2482,9 +2483,10 @@ handle_signals(int is_parent)
|
|
|
static struct event *signal_events[16]; /* bigger than it has to be. */
|
|
|
if (is_parent) {
|
|
|
for (i = 0; signals[i] >= 0; ++i) {
|
|
|
- signal_events[i] = tor_evsignal_new(
|
|
|
- tor_libevent_get_base(), signals[i], signal_callback,
|
|
|
- (void*)(uintptr_t)signals[i]);
|
|
|
+ signal_events[i] = tor_evsignal_new(tor_libevent_get_base(), signals[i],
|
|
|
+ signal_callback,
|
|
|
+ /* Cast away const */
|
|
|
+ (int*)&signals[i]);
|
|
|
if (event_add(signal_events[i], NULL))
|
|
|
log_warn(LD_BUG, "Error from libevent when adding event for signal %d",
|
|
|
signals[i]);
|