summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/ioselectors.nim8
-rw-r--r--lib/pure/ioselects/ioselectors_kqueue.nim2
2 files changed, 2 insertions, 8 deletions
diff --git a/lib/pure/ioselectors.nim b/lib/pure/ioselectors.nim
index 8741f7aba..d05e3117c 100644
--- a/lib/pure/ioselectors.nim
+++ b/lib/pure/ioselectors.nim
@@ -185,19 +185,13 @@ else:
     import locks
 
     type
-      SharedArrayHolder[T] = object
-        part: array[1, T]
       SharedArray {.unchecked.}[T] = array[0..100_000_000, T]
 
     proc allocSharedArray[T](nsize: int): ptr SharedArray[T] =
-      let holder = cast[ptr SharedArrayHolder[T]](
-                         allocShared0(sizeof(T) * nsize)
-                       )
-      result = cast[ptr SharedArray[T]](addr(holder.part[0]))
+      result = cast[ptr SharedArray[T]](allocShared0(sizeof(T) & nsize))
 
     proc deallocSharedArray[T](sa: ptr SharedArray[T]) =
       deallocShared(cast[pointer](sa))
-  
   type
     Event* {.pure.} = enum
       Read, Write, Timer, Signal, Process, Vnode, User, Error, Oneshot
diff --git a/lib/pure/ioselects/ioselectors_kqueue.nim b/lib/pure/ioselects/ioselectors_kqueue.nim
index 78823dea4..29a201863 100644
--- a/lib/pure/ioselects/ioselectors_kqueue.nim
+++ b/lib/pure/ioselects/ioselectors_kqueue.nim
@@ -25,7 +25,7 @@ when defined(macosx) or defined(freebsd):
   proc sysctl(name: ptr cint, namelen: cuint, oldp: pointer, oldplen: ptr int,
               newp: pointer, newplen: int): cint
        {.importc: "sysctl",header: """#include <sys/types.h>
-                                        #include <sys/sysctl.h>"""}
+                                      #include <sys/sysctl.h>"""}
 elif defined(netbsd) or defined(openbsd):
   # OpenBSD and NetBSD don't have KERN_MAXFILESPERPROC, so we are using
   # KERN_MAXFILES, because KERN_MAXFILES is always bigger,