- Oct 26, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
- Oct 25, 2013
-
-
Lasse Collin authored
This needs to be updated before 5.2.0.
-
- Oct 22, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
Now if --block-list is used in threaded mode, the encoder won't need to flush at each Block boundary specified via --block-list. This improves performance a lot, making threading helpful with --block-list. The flush timer was reset after LZMA_FULL_FLUSH but since LZMA_FULL_BARRIER doesn't flush, resetting the timer is no longer done.
-
- Oct 02, 2013
-
-
Lasse Collin authored
Now --block-list=SIZES works with in the threaded mode too, although the performance is still bad due to the use of LZMA_FULL_FLUSH instead of the new LZMA_FULL_BARRIER.
-
Lasse Collin authored
In the single-threaded encoder LZMA_FULL_BARRIER is simply an alias for LZMA_FULL_FLUSH.
-
- Sep 17, 2013
-
-
Lasse Collin authored
This should have been in b465da59.
-
Lasse Collin authored
-
Lasse Collin authored
Now liblzma only uses "mythread" functions and types which are defined in mythread.h matching the desired threading method. Before Windows Vista, there is no direct equivalent to pthread condition variables. Since this package doesn't use pthread_cond_broadcast(), pre-Vista threading can still be kept quite simple. The pre-Vista code doesn't use anything that wasn't already available in Windows 95, so the binaries should run even on Windows 95 if someone happens to care.
-
- Sep 11, 2013
-
-
Lasse Collin authored
The previous commit supports silent rules and that requires Automake 1.11.
-
- Sep 09, 2013
-
-
Lasse Collin authored
Previously it was done in configure, but doing that goes against the Autoconf manual. Autoconf requires that it is possible to override e.g. prefix after running configure and that doesn't work correctly if liblzma.pc is created by configure. A potential downside of this change is that now e.g. libdir in liblzma.pc is a standalone string instead of being defined via ${prefix}, so if one overrides prefix when running pkg-config the libdir won't get the new value. I don't know if this matters in practice. Thanks to Vincent Torri.
-
- Aug 04, 2013
-
-
Lasse Collin authored
Apparently I didn't even compile-test the previous commit. Thanks to Christian Hesse.
-
- Aug 03, 2013
-
-
Lasse Collin authored
It is used for Cygwin too. I'm not sure if that is a good or bad idea. Thanks to Vincent Torri.
-
Anders F Bjorklund authored
-
Anders F Bjorklund authored
-
Anders F Bjorklund authored
-
- Jul 15, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
Thanks to Vincent Torri.
-
- Jul 04, 2013
-
-
Lasse Collin authored
When --flush-timeout=TIMEOUT is used, xz will use LZMA_SYNC_FLUSH if read() would block and at least TIMEOUT milliseconds has elapsed since the previous flush. This can be useful in realtime-like use cases where the data is simultanously decompressed by another process (possibly on a different computer). If new uncompressed input data is produced slowly, without this option xz could buffer the data for a long time until it would become decompressible from the output. If TIMEOUT is 0, the feature is disabled. This is the default. This commit affects the compression side. Using xz for the decompression side for the above purpose doesn't work yet so well because there is quite a bit of input and output buffering when decompressing. The --long-help or man page were not updated yet. The details of this feature may change.
-
Lasse Collin authored
-
Lasse Collin authored
Testing for end of file was no longer correct after full flushing became possible with --block-size=SIZE and --block-list=SIZES. There was no bug in practice though because xz just made a few unneeded zero-byte reads.
-
Lasse Collin authored
This switches units from microseconds to milliseconds. New clock_gettime(CLOCK_MONOTONIC) will be used if available. There is still a fallback to gettimeofday().
-
- Jul 01, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
Thanks to Christian Hesse.
-
- Jun 30, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
The man pages of lzmainfo, xzmore, and xzdec had similar constructs as the man page of xz had before the commit eb6ca985. Eric S. Raymond didn't mention these man pages in his bug report, but it's nice to be consistent.
-
- Jun 29, 2013
-
-
Lasse Collin authored
Now both reading and writing should be without race conditions with signals. They might still be signal handling issues left. Signals are blocked during many operations to avoid EINTR but it may cause problems e.g. if writing to stderr blocks when trying to display an error message.
-
- Jun 28, 2013
-
-
Lasse Collin authored
It didn't affect the behavior of the code since -1 becomes true anyway.
-
Lasse Collin authored
It is possible that a signal to set user_abort arrives right before a blocking system call is made. In this case the call may block until another signal arrives, while the wanted behavior is to make xz clean up and exit as soon as possible. After this commit, the race condition is avoided with the input side which already uses non-blocking I/O. The output side still uses blocking I/O and thus has the race condition.
-
Lasse Collin authored
-
Lasse Collin authored
Nowadays errno == EFTYPE is documented in open(2).
-
Lasse Collin authored
POSIX says that fcntl(fd, F_SETFL, flags) returns -1 on error and "other than -1" on success. This is how it is documented e.g. on OpenBSD too. On Linux, success with F_SETFL is always 0 (at least accorinding to fcntl(2) from man-pages 3.51).
-
Lasse Collin authored
Due to a wrong variable name, when writing a sparse file to standard output, *all* file status flags were cleared (to the extent the operating system allowed it) instead of only clearing the O_APPEND flag. In practice this worked fine in the common situations on GNU/Linux, but I didn't check how it behaved elsewhere. The original flags were still restored correctly. I still changed the code to use a separate boolean variable to indicate when the flags should be restored instead of relying on a special value in stdout_flags.
-
Lasse Collin authored
Input file can be a FIFO or something else that doesn't support posix_fadvise() so don't check the return value even with an assertion. Nothing bad happens if the call to posix_fadvise() fails.
-
- Jun 26, 2013
-
-
Lasse Collin authored
It is a no-op for now, but if an old xz version is used together with a newer liblzma that supports something new, then this check becomes important and will stop the old xz from trying to parse files that it won't understand.
-
Lasse Collin authored
It should actually still work with Automake 1.10 if the serial-tests option is removed. Automake 1.13 started using parallel tests by default and the option to get the old behavior isn't supported before 1.12. At least for now, parallel tests don't improve anything in XZ Utils but they hide the progress output from test_compress.sh.
-
- Jun 23, 2013
-
-
Lasse Collin authored
-
Lasse Collin authored
On Mac OS X wait() is declared in <sys/wait.h> that we include one way or other so don't use "wait" as a variable name. Thanks to Christian Kujau.
-