diff --git a/inc/lektor/internal/os.h b/inc/lektor/internal/os.h
index caaf5c8501b43e829f5a8ac22326af041a1eb608..158f023ed926f0c3fe873e42d13b5c1ceab1353d 100644
--- a/inc/lektor/internal/os.h
+++ b/inc/lektor/internal/os.h
@@ -86,11 +86,15 @@ enum {
 #endif
 
 #if !(defined(LKT_OS_WIN) && (LKT_OS_WIN == 1))
+/* LKT_OS_TOASTER | APPLE */
 typedef int SOCKET;
 #define closesocket(fd) close(fd)
 #define INVALID_SOCKET  (-1)
+#define to_file_mode_t(perm) (perm)
+#define to_socket_size_t(size) (size)
 
-#else /* LKT_OS_WIN  */
+#else
+/* LKT_OS_WIN  */
 #define SHUT_RDWR                  SD_BOTH
 #define close                      _close
 #define open                       _open
@@ -98,6 +102,8 @@ typedef int SOCKET;
 #define mkdir(str, perm)           _mkdir(str)
 #define socket(dom, type, proto__) WSASocket(dom, type, 0, 0, 0, 0)
 #define get_nprocs_conf()          2
+#define to_file_mode_t(perm) ((int)(perm))
+#define to_socket_size_t(size) ((ULONG)(size))
 
 #endif
 
diff --git a/src/net/listen.c b/src/net/listen.c
index 6abd280fa7bcc4ca9abe5058a3056cfcb152b279..64420e763a93ad38028d9419cfd1fba950a876ef 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -494,7 +494,7 @@ static void
 init_permission_socket_unix(const char *file, unsigned int perms)
 {
     errno = 0;
-    if (chmod(file, perms) < 0) {
+    if (chmod(file, to_file_mode_t(perms)) < 0) {
         LOG_FATAL("INIT", "Failed to set '%s' to 0%o: %s", file, perms, strerror(errno));
     }
     LOG_INFO("INIT", "Set socket '%s' to perms 0%o", file, perms);
@@ -991,11 +991,11 @@ redo:
  * Signal handlers *
  *******************/
 
-static int ___lkt_signal_INT  = 0; /* SIGINT  => close the server */
-static int ___lkt_signal_QUIT = 0; /* SIGQUIT => close the server */
-static int ___lkt_signal_ILL  = 0; /* SIGILL  => NoT veRy HappY   */
-static int ___lkt_signal_USR1 = 0; /* SIGUSR1 => not used         */
-static int ___lkt_signal_USR2 = 0; /* SIGUSR2 => not used         */
+static int UNUSED ___lkt_signal_INT  = 0; /* SIGINT  => close the server */
+static int UNUSED ___lkt_signal_QUIT = 0; /* SIGQUIT => close the server */
+static int UNUSED ___lkt_signal_ILL  = 0; /* SIGILL  => NoT veRy HappY   */
+static int UNUSED ___lkt_signal_USR1 = 0; /* SIGUSR1 => not used         */
+static int UNUSED ___lkt_signal_USR2 = 0; /* SIGUSR2 => not used         */
 
 PRIVATE_FUNCTION void
 ___signal_handler(int sig)
@@ -1009,9 +1009,11 @@ ___signal_handler(int sig)
     switch (sig) {
         ___HANDLE(INT)
         ___HANDLE(ILL)
+#if !(defined(LKT_OS_WIN) && (LKT_OS_WIN == 1))
         ___HANDLE(QUIT)
         ___HANDLE(USR1)
         ___HANDLE(USR2)
+#endif
     default: LOG_WARN("SIGNAL", "Not handled signal %d", sig); break;
     }