]> mj.ucw.cz Git - libucw.git/blobdiff - lib/sorter.h
Fixed thread safety of signal handling.
[libucw.git] / lib / sorter.h
index 15ff9bf7b16bc0378b8231a579cd7035ea8dd088..ed82eb34893fad81c80350a06975d264267b56da 100644 (file)
@@ -50,7 +50,7 @@
  *  int PREFIX_compare(SORT_KEY *a, *b)
  *                     compare two keys, result like strcmp
  *  int PREFIX_fetch_key(struct fastbuf *f, SORT_KEY *k)
- *                     fetch next key, returns 1=ok, 0=eof
+ *                     fetch next key, returns nonzero=ok, 0=eof
  *  void PREFIX_copy_data(struct fastbuf *src, *dest, SORT_KEY *k)
  *                     write just fetched key k to dest and copy all data
  *                     belonging to this key from src to dest.
  *  undef'd.
  */
 
-/* Declarations of externals from sorter.c */
-
-#ifndef SORT_DECLS_READ
-#define SORT_DECLS_READ
-
-extern uns sorter_trace;
-extern uns sorter_presort_bufsize;
-extern uns sorter_stream_bufsize;
-
-extern uns sorter_pass_counter;
-
-#endif         /* !SORT_DECLS_READ */
-
-/* The sorter proper */
-
-#ifndef SORT_DECLARE_ONLY
-
+#include "lib/sorter-globals.h"
 #include "lib/fastbuf.h"
 #include <unistd.h>
 #include <fcntl.h>
@@ -417,7 +401,7 @@ P(presort)(struct fastbuf **fb1, struct fastbuf **fb2)
        }
       for(;;)
        {
-         current = (byte *) ALIGN((addr_int_t) current, CPU_STRUCT_ALIGN);
+         current = (byte *) ALIGN_TO((addr_int_t) current, CPU_STRUCT_ALIGN);
          if (current + sizeof(*this) > bufend)
            break;
          this = (SORT_NODE *) current;
@@ -579,5 +563,3 @@ struct fastbuf *fb1, struct fastbuf *fb2
 #undef SORT_OUTPUT_FB
 #undef SORT_PRESORT
 #undef SORT_UP_TO
-
-#endif         /* !SORT_DECLARE_ONLY */