From 83bcc707fc9150f93fd6326eef613751e8fa4445 Mon Sep 17 00:00:00 2001 From: "H. S. Teoh" Date: Wed, 23 Jan 2013 16:02:05 -0800 Subject: [PATCH] Fix 32-bit/64-bit pointer size bug. Otherwise eventloop.d fails to compile on 64-bit. --- eventloop.d | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eventloop.d b/eventloop.d index 05cfbfb..2aed09e 100644 --- a/eventloop.d +++ b/eventloop.d @@ -19,14 +19,16 @@ template isValidEventListener(T) { enum bool isValidEventListener = isCallable!T && ParameterTypeTuple!(T).length == 1; } +private enum backingSize = (void*).sizeof + hash_t.sizeof; + /// Sends an exit event to the loop. The loop will break when it sees this event, ignoring any events after that point. public void exit() { - ubyte[(void*).sizeof + hash_t.sizeof] bufferBacking = 0; // a null message means exit... + ubyte[backingSize] bufferBacking = 0; // a null message means exit... writeToEventPipe(bufferBacking); } -void writeToEventPipe(ubyte[8] bufferBacking) { +void writeToEventPipe(ubyte[backingSize] bufferBacking) { ubyte[] buffer = bufferBacking[]; while(buffer.length) { auto written = unix.write(pipes[1], buffer.ptr, buffer.length);