diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2023-05-29 21:31:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-29 21:31:53 +0200 |
commit | 244565397ddcd4af5a49b47b7874fe82e018e429 (patch) | |
tree | 8cfe4f6bab5e340abff72ee24c9a8651a7bf99b0 | |
parent | ef060e818468da0bd53d52a501443ce3d01f06a1 (diff) | |
download | Nim-244565397ddcd4af5a49b47b7874fe82e018e429.tar.gz |
fixes #21734; backport (#21957)
-rw-r--r-- | lib/pure/ioselects/ioselectors_epoll.nim | 2 | ||||
-rw-r--r-- | lib/pure/selectors.nim | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/ioselects/ioselectors_epoll.nim b/lib/pure/ioselects/ioselectors_epoll.nim index 08cb6ed74..510de8c51 100644 --- a/lib/pure/ioselects/ioselectors_epoll.nim +++ b/lib/pure/ioselects/ioselectors_epoll.nim @@ -138,7 +138,7 @@ template checkFd(s, f) = var numFD = s.numFD while numFD <= f: numFD *= 2 when hasThreadSupport: - s.fds = reallocSharedArray(s.fds, numFD) + s.fds = reallocSharedArray(s.fds, s.numFD, numFD) else: s.fds.setLen(numFD) for i in s.numFD ..< numFD: diff --git a/lib/pure/selectors.nim b/lib/pure/selectors.nim index fc65e0e9b..2d10e3f32 100644 --- a/lib/pure/selectors.nim +++ b/lib/pure/selectors.nim @@ -247,8 +247,8 @@ else: proc allocSharedArray[T](nsize: int): ptr SharedArray[T] = result = cast[ptr SharedArray[T]](allocShared0(sizeof(T) * nsize)) - proc reallocSharedArray[T](sa: ptr SharedArray[T], nsize: int): ptr SharedArray[T] = - result = cast[ptr SharedArray[T]](reallocShared(sa, sizeof(T) * nsize)) + proc reallocSharedArray[T](sa: ptr SharedArray[T], oldsize, nsize: int): ptr SharedArray[T] = + result = cast[ptr SharedArray[T]](reallocShared0(sa, oldsize * sizeof(T), sizeof(T) * nsize)) proc deallocSharedArray[T](sa: ptr SharedArray[T]) = deallocShared(cast[pointer](sa)) |