An error occurred fetching the project authors.
  1. 15 Mar, 2019 1 commit
    • Ian Lance Taylor's avatar
      runtime: introduce and consistently use setNsec for timespec · 0a7bc8f4
      Ian Lance Taylor authored
      The general code for setting a timespec value sometimes used set_nsec
      and sometimes used a combination of set_sec and set_nsec. Standardize
      on a setNsec function that takes a number of nanoseconds and splits
      them up to set the tv_sec and tv_nsec fields. Consistently mark
      setNsec as go:nosplit, since it has to be that way on some systems
      including Darwin and GNU/Linux. Consistently use timediv on 32-bit
      systems to help stay within split-stack limits on processors that
      don't have a 64-bit division instruction.
      
      Change-Id: I6396bb7ddbef171a96876bdeaf7a1c585a6d725b
      Reviewed-on: https://go-review.googlesource.com/c/go/+/167389
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      0a7bc8f4
  2. 20 Oct, 2017 1 commit
    • Ian Lance Taylor's avatar
      runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write · 23aad448
      Ian Lance Taylor authored
      On systems that use kqueue, we always register descriptors for both
      EVFILT_READ and EVFILT_WRITE. On at least FreeBSD and OpenBSD, when
      the write end of a pipe is registered for EVFILT_READ and EVFILT_WRITE
      events, and the read end of the pipe is closed, kqueue reports an
      EVFILT_READ event with EV_EOF set, but does not report an EVFILT_WRITE
      event. Since the write to the pipe is waiting for an EVFILT_WRITE
      event, closing the read end of a pipe can cause the write end to hang
      rather than attempt another write which will fail with EPIPE.
      
      Fix this by treating EVFILT_READ with EV_EOF set as making both reads
      and writes ready to proceed.
      
      The real test for this is in CL 71770, which tests using various
      timeouts with pipes.
      
      Updates #22114
      
      Change-Id: Ib23fbaaddbccd8eee77bdf18f27a7f0aa50e2742
      Reviewed-on: https://go-review.googlesource.com/71973Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
      23aad448
  3. 26 Sep, 2016 1 commit
    • Ian Lance Taylor's avatar
      runtime: unify handling of alternate signal stack · d15295c6
      Ian Lance Taylor authored
      Change all Unix systems to use stackt for the alternate signal
      stack (some were using sigaltstackt). Add OS-specific setSignalstackSP
      function to handle different types for ss_sp field, and unify all
      OS-specific signalstack functions into one. Unify handling of alternate
      signal stack in OS-specific minit and sigtrampgo functions via new
      functions minitSignalstack and setGsignalStack.
      
      Change-Id: Idc316dc69b1dd725717acdf61a1cd8b9f33ed174
      Reviewed-on: https://go-review.googlesource.com/29757
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      d15295c6
  4. 22 Nov, 2014 1 commit
  5. 11 Nov, 2014 1 commit
    • Russ Cox's avatar
      [dev.cc] runtime: convert defs_$GOOS_$GOARCH.h to Go · 580ef3e4
      Russ Cox authored
      The conversion was done with an automated tool and then
      modified only as necessary to make it compile and run.
      
      In a few cases, defs_$GOOS_$GOARCH.go already existed,
      so the target here is defs1_$GOOS_$GOARCH.go.
      
      [This CL is part of the removal of C code from package runtime.
      See golang.org/s/dev.cc for an overview.]
      
      LGTM=r
      R=r
      CC=austin, dvyukov, golang-codereviews, iant, khr
      https://golang.org/cl/171490043
      580ef3e4