Changes in / [e4eff86:94725ea]


Ignore:
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • lib/format_dag25.c

    rc5ac872 r0054c50  
    283283
    284284        dag_close(dev->fd);
    285         if (dev->dev_name)
    286                 free(dev->dev_name);
    287285        free(dev);
    288286}
  • lib/trace.c

    r6fc1ae7 r584d907  
    199199        }
    200200       
    201         /* Oh well */
     201        /* No formats matched -- make sure we clean up the IO object we
     202         * used to probe the file magic */
     203        wandio_destroy(libtrace->io);
    202204        return;
    203205}
  • libwandio/ior-thread.c

    r10f924c rcd37cdc  
    4444#include <stdbool.h>
    4545#include <errno.h>
     46#include <signal.h>
    4647#ifdef HAVE_SYS_PRCTL_H
    4748#include <sys/prctl.h>
     
    167168{
    168169        io_t *state;
     170        sigset_t set;
     171        int s;
    169172
    170173        if (!parent) {
     
    172175        }
    173176       
    174 
     177        sigfillset(&set);
    175178        state = malloc(sizeof(io_t));
    176179        state->data = calloc(1,sizeof(struct state_t));
     
    189192
    190193        /* Create the reading thread */
     194        s = pthread_sigmask(SIG_SETMASK, &set, NULL);
    191195        pthread_create(&DATA(state)->producer,NULL,thread_producer,state);
     196        sigemptyset(&set);
     197        s = pthread_sigmask(SIG_SETMASK, &set, NULL);
    192198
    193199        return state;
  • libwandio/iow-lzo.c

    re4eff86 rba19885  
    207207
    208208        write32(outbuf, len); /* Original length */
    209         write32(outbuf, min((uint32_t)len,(uint32_t)dst_len));
     209       
     210        assert(len > 0);
     211
     212        /* If the compression actually makes the block bigger, we should write out the
     213         * block uncompressed. */
     214        if (dst_len < (uint32_t)len)
     215                write32(outbuf, (uint32_t)dst_len);
     216        else
     217                write32(outbuf, len);
    210218        /* CRC32 of the uncompressed buffer */
    211219#if 0
     
    214222        write32(outbuf,
    215223                lzo_adler32(ADLER32_INIT_VALUE, (const void*)buffer, len));
    216         write_buf(outbuf, b2, dst_len);
     224       
     225        if (dst_len < (uint32_t)len)
     226                write_buf(outbuf, b2, dst_len);
     227        else
     228                write_buf(outbuf, buffer, len);
    217229
    218230        /* Return the number of bytes compressed */
     
    424436                                assert(get_next_thread(iow)->outbuf.offset
    425437                                                < sizeof(get_next_thread(iow)->outbuf.buffer));
     438                               
    426439                                wandio_wwrite(DATA(iow)->child,
    427440                                                get_next_thread(iow)->outbuf.buffer,
     
    452465                        if (get_next_thread(iow)->inbuf.offset >= sizeof(get_next_thread(iow)->inbuf.buffer)
    453466                          ||get_next_thread(iow)->inbuf.offset >= MAX_BLOCK_SIZE) {
    454                                 assert(get_next_thread(iow)->state == EMPTY);
     467                                assert(get_next_thread(iow)->state == EMPTY);
    455468                                get_next_thread(iow)->state = WAITING;
    456469                                pthread_cond_signal(&get_next_thread(iow)->in_ready);
Note: See TracChangeset for help on using the changeset viewer.