Permalink
Commits on Aug 28, 2012
Commits on Aug 27, 2012
Commits on Aug 25, 2012
  1. Merge branch 'v0.8'

    bnoordhuis committed Aug 25, 2012
    Conflicts:
    	include/uv.h
  2. unix: fix memory leak in udp.c

    bnoordhuis committed Aug 25, 2012
    Some memory was leaked when the uv_udp_t handle was closed when there were
    in-flight send requests with a heap allocated buffer list.
    
    That doesn't happen much in practice. In the common case (writing < 5 buffers),
    the buffer list is stored inside the uv_udp_send_t structure, not allocated on
    the heap.
  3. windows: remove superfluous uv__handle_start

    shigeki committed with piscisaureus Aug 24, 2012
    uv__handle_start was not needed in uv_signal_init
Commits on Aug 23, 2012
Commits on Aug 22, 2012
  1. unix: map errno ESPIPE

    bnoordhuis committed Aug 22, 2012
  2. unix: fix uv_async_send not working with Sun Studio

    piscisaureus committed Aug 22, 2012
    uv_async_send would always return 1 when non-gcc compilers were used.
    When uv_async_send returns 1 no attempt is made to make port_getn
    return, so in this situation uv_async_send didn't wake up the event
    loop.
  3. darwin: fix return value of uv_sem_init()

    bnoordhuis committed Aug 22, 2012
    It should return 0 or -1, not the kernel status code.
Commits on Aug 21, 2012
  1. darwin, freebsd: use ioctl(FIOCLEX) and ioctl(FIONBIO)

    bnoordhuis committed Aug 21, 2012
    Set the non-blocking and close-on-exec flags with ioctl() instead of fcntl(),
    it's about 10-25% faster.
    
    Stick with fcntl() on Solaris. ioctl(FIONBIO) works but is twice as slow as
    fcntl(O_NONBLOCK). ioctl(FIOCLEX) doesn't raise an error but doesn't actually
    work either.
Commits on Aug 20, 2012
  1. Merge branch 'v0.8'

    piscisaureus committed Aug 20, 2012
  2. windows: fix uninitialized memory access in uv_update_time()

    piscisaureus committed Aug 20, 2012
    uv_update_time does not overwrite the high 32 bits of uv_loop_t.time.
    It merely increments it by one when the low 32 bits have wrapped. That
    means that `time` needs to be initialized to zero before
    uv_update_time() is called for the first time.
  3. linux: don't retry syscall after ENOSYS

    bnoordhuis committed Aug 20, 2012
    Don't try the pipe2() or socketpair(O_CLOEXEC) syscalls when a previous call to
    uv__make_pipe() or uv__make_socketpair() call established that the kernel
    doesn't support it. Speeds up pipe and socketpair creation on older kernels.
  4. unix: add __read_mostly macro

    bnoordhuis committed Aug 20, 2012
    Variables tagged with __read_mostly are put into a separate ELF section to
    improve the cache locality of data that is read often but seldom written to.
  5. unix: use select() for specific fds on OS X

    indutny committed with bnoordhuis Aug 16, 2012
    kqueue(2) on osx doesn't work (emits EINVAL error) with specific fds
    (i.e. /dev/tty, /dev/null, etc). When given such descriptors - start
    select(2) watcher thread that will emit io events.
  6. Merge branch 'v0.8'

    bnoordhuis committed Aug 20, 2012
    Conflicts:
    	src/fs-poll.c
  7. unix, windows: fix memory corruption in fs-poll.c

    bnoordhuis committed Aug 20, 2012
    uv_fs_poll_t has an embedded uv_timer_t handle that got closed at a time when
    the memory of the encapsulating handle might already have been deallocated.
    
    Solve that by moving the poller's state into a structure that is allocated on
    the heap and can be freed independently.
  8. unix: fix const correctness compiler warning

    bnoordhuis committed Aug 7, 2012
    This is a back-port of commit f97c80f from the master branch.
Commits on Aug 18, 2012
  1. Merge branch 'v0.8'

    piscisaureus committed Aug 18, 2012