about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/io/dynstream.nim6
-rw-r--r--src/server/buffer.nim8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/io/dynstream.nim b/src/io/dynstream.nim
index 4c322f95..478b6044 100644
--- a/src/io/dynstream.nim
+++ b/src/io/dynstream.nim
@@ -367,9 +367,9 @@ proc sendMsg*(s: SocketStream; buffer: openArray[uint8];
   hdr.msg_iov = addr iov
   hdr.msg_iovlen = 1
   hdr.msg_control = cmsgBuf
-  hdr.msg_controllen = controlLen
+  hdr.msg_controllen = SockLen(controlLen)
   let cmsg = CMSG_FIRSTHDR(addr hdr)
-  cmsg.cmsg_len = CMSG_LEN(csize_t(sendAuxSize))
+  cmsg.cmsg_len = SockLen(CMSG_LEN(csize_t(sendAuxSize)))
   cmsg.cmsg_level = SOL_SOCKET
   cmsg.cmsg_type = SCM_RIGHTS
   if sendAux.len > 0:
@@ -396,7 +396,7 @@ proc recvMsg*(s: SocketStream; buffer: var openArray[uint8];
   hdr.msg_iov = addr iov
   hdr.msg_iovlen = 1
   hdr.msg_control = cmsgBuf
-  hdr.msg_controllen = controlLen
+  hdr.msg_controllen = SockLen(controlLen)
   let n = recvmsg(SocketHandle(s.fd), addr hdr, 0)
   if n < 0:
     if cmsgBuf != nil:
diff --git a/src/server/buffer.nim b/src/server/buffer.nim
index 08ff062c..a62c0659 100644
--- a/src/server/buffer.nim
+++ b/src/server/buffer.nim
@@ -1013,14 +1013,14 @@ proc clone*(buffer: Buffer; newurl: URL): int {.proxy.} =
       # the cache. (This also lets us skip suspend/resume in this case.)
       # We ignore errors; not much we can do with them here :/
       discard buffer.rewind(buffer.bytesRead, unregister = false)
-    ps.write(char(0))
-    buffer.url = newurl
-    for it in buffer.tasks.mitems:
-      it = 0
     var sockFd: cint
     buffer.pstream.withPacketReader r:
       sockFd = r.recvAux.pop()
     buffer.pstream.sclose()
+    ps.write(char(0))
+    buffer.url = newurl
+    for it in buffer.tasks.mitems:
+      it = 0
     buffer.pstream = newSocketStream(sockFd)
     gpstream = buffer.pstream
     buffer.loader.clientPid = myPid