Procházet zdrojové kódy

mhd_send: round up readahead size on FreeBSD

Evgeny Grin (Karlson2k) před 5 roky
rodič
revize
1777068bd8
1 změnil soubory, kde provedl 5 přidání a 4 odebrání
  1. 5 4
      src/microhttpd/mhd_send.c

+ 5 - 4
src/microhttpd/mhd_send.c

@@ -84,7 +84,7 @@ MHD_send_init_static_vars_ (void)
  * SF_FLAGS defined only on FreeBSD 11 and later. */
 #ifdef SF_FLAGS
   long sys_page_size = sysconf (_SC_PAGESIZE);
-  if (0 > sys_page_size)
+  if (0 >= sys_page_size)
   {   /* Failed to get page size. */
     freebsd_sendfile_flags_ = SF_NODISKIO;
     freebsd_sendfile_flags_thd_p_c_ = SF_NODISKIO;
@@ -92,10 +92,11 @@ MHD_send_init_static_vars_ (void)
   else
   {
     freebsd_sendfile_flags_ =
-      SF_FLAGS ((uint16_t) (MHD_SENFILE_CHUNK_ / sys_page_size), SF_NODISKIO);
+      SF_FLAGS ((uint16_t) ((MHD_SENFILE_CHUNK_ + sys_page_size - 1)
+                            / sys_page_size), SF_NODISKIO);
     freebsd_sendfile_flags_thd_p_c_ =
-      SF_FLAGS ((uint16_t) (MHD_SENFILE_CHUNK_THR_P_C_ / sys_page_size),
-                SF_NODISKIO);
+      SF_FLAGS ((uint16_t) ((MHD_SENFILE_CHUNK_THR_P_C_ + sys_page_size - 1)
+                            / sys_page_size), SF_NODISKIO);
   }
 #endif /* SF_FLAGS */
 }