1. 25 Feb, 2011 14 commits
  2. 24 Feb, 2011 10 commits
  3. 23 Feb, 2011 16 commits
    • Alex Brainman's avatar
      net: *netFD.Read to return os.EOF on eof (fixes windows build) · 162d510d
      Alex Brainman authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/4210041
      162d510d
    • Brad Fitzpatrick's avatar
      http: set method GET on Get() requests · c7978584
      Brad Fitzpatrick authored
      R=adg, bradfitzwork
      CC=golang-dev
      https://golang.org/cl/4229042
      c7978584
    • Russ Cox's avatar
      build: remove _gcc_main.c during make clean · 8b8d5e9e
      Russ Cox authored
      R=r, r2
      CC=golang-dev
      https://golang.org/cl/4226043
      8b8d5e9e
    • Russ Cox's avatar
      runtime: always run stackalloc on scheduler stack · b5dfac45
      Russ Cox authored
      Avoids deadlocks like the one below, in which a stack split happened
      in order to call lock(&stacks), but then the stack unsplit cannot run
      because stacks is now locked.
      
      The only code calling stackalloc that wasn't on a scheduler
      stack already was malg, which creates a new goroutine.
      
      runtime.futex+0x23 /home/rsc/g/go/src/pkg/runtime/linux/amd64/sys.s:139
             runtime.futex()
      futexsleep+0x50 /home/rsc/g/go/src/pkg/runtime/linux/thread.c:51
             futexsleep(0x5b0188, 0x300000003, 0x100020000, 0x4159e2)
      futexlock+0x85 /home/rsc/g/go/src/pkg/runtime/linux/thread.c:119
             futexlock(0x5b0188, 0x5b0188)
      runtime.lock+0x56 /home/rsc/g/go/src/pkg/runtime/linux/thread.c:158
             runtime.lock(0x5b0188, 0x7f0d27b4a000)
      runtime.stackfree+0x4d /home/rsc/g/go/src/pkg/runtime/malloc.goc:336
             runtime.stackfree(0x7f0d27b4a000, 0x1000, 0x8, 0x7fff37e1e218)
      runtime.oldstack+0xa6 /home/rsc/g/go/src/pkg/runtime/proc.c:705
             runtime.oldstack()
      runtime.lessstack+0x22 /home/rsc/g/go/src/pkg/runtime/amd64/asm.s:224
             runtime.lessstack()
      ----- lessstack called from goroutine 2 -----
      runtime.lock+0x56 /home/rsc/g/go/src/pkg/runtime/linux/thread.c:158
             runtime.lock(0x5b0188, 0x40a5e2)
      runtime.stackalloc+0x55 /home/rsc/g/go/src/pkg/runtime/malloc.c:316
             runtime.stackalloc(0x1000, 0x4055b0)
      runtime.malg+0x3d /home/rsc/g/go/src/pkg/runtime/proc.c:803
             runtime.malg(0x1000, 0x40add9)
      runtime.newproc1+0x12b /home/rsc/g/go/src/pkg/runtime/proc.c:854
             runtime.newproc1(0xf840027440, 0x7f0d27b49230, 0x0, 0x49f238, 0x40, ...)
      runtime.newproc+0x2f /home/rsc/g/go/src/pkg/runtime/proc.c:831
             runtime.newproc(0x0, 0xf840027440, 0xf800000010, 0x44b059)
      ...
      
      R=r, r2
      CC=golang-dev
      https://golang.org/cl/4216045
      b5dfac45
    • Russ Cox's avatar
      runtime: omit breakpoint during terminal panic · 59ce067d
      Russ Cox authored
      A terminal panic (one that prints a stack trace and exits)
      has been calling runtime.breakpoint before calling exit,
      so that if running under a debugger, the debugger can
      take control.  When not running under a debugger, though,
      this causes an additional SIGTRAP on Unix and pop-up
      dialogs on Windows.
      
      Support for debugging Go programs has gotten good
      enough that we can rely on the debugger to set its own
      breakpoint on runtime.exit if it wants to look around.
      
      R=r, r2
      CC=golang-dev
      https://golang.org/cl/4222043
      59ce067d
    • Brad Fitzpatrick's avatar
      http: introduce start of Client and ClientTransport · e0a2c5d4
      Brad Fitzpatrick authored
      Much yet to come, but this is a safe first step, introducing
      an in-the-future configurable Client object (where policy for
      cookies, auth, redirects will live) as well as introducing a
      ClientTransport interface for sending requests.
      
      The CL intentionally ignores everything around the creation
      and configuration of Clients and merely ports/wraps the old
      interfaces to/around Client/ClientTransport.
      
      R=rsc, dsymonds, nigeltao, bradfitzwork
      CC=golang-dev
      https://golang.org/cl/4182086
      e0a2c5d4
    • Russ Cox's avatar
      runtime: pass to signal handler value of g at time of signal · 690291a2
      Russ Cox authored
      The existing code assumed that signals only arrived
      while executing on the goroutine stack (g == m->curg),
      not while executing on the scheduler stack (g == m->g0).
      
      Most of the signal handling trampolines correctly saved
      and restored g already, but the sighandler C code did not
      have access to it.
      
      Some rewriting of assembly to make the various
      implementations as similar as possible.
      
      Will need to change Windows too but I don't
      understand how sigtramp gets called there.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/4203042
      690291a2
    • Russ Cox's avatar
      runtime: traceback through active lessstack · 4b376ef3
      Russ Cox authored
      With this change, a panic trace due to a signal arriving while
      running on the scheduler stack during a lessstack
      (a stack unsplit) will trace through the lessstack to show
      the state of the goroutine that was unsplitting its stack.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/4206042
      4b376ef3
    • Russ Cox's avatar
      5g: fix optimizer bug · 63c24081
      Russ Cox authored
      same as in issue below, never fixed on ARM
      
      changeset:   5498:3fa1372ca694
      user:        Ken Thompson <ken@golang.org>
      date:        Thu May 20 17:31:28 2010 -0700
      
      description:
      fix issue 798
      cannot allocate an audomatic temp
      while real registers are allocated.
      there is a chance that the automatic
      will be allocated to one of the
      allocated registers. the fix is to
      not registerize such variables.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/1202042
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/4226042
      63c24081
    • Robert Griesemer's avatar
      sync: make package comment appear · 9fc0f159
      Robert Griesemer authored
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4220044
      9fc0f159
    • Rob Pike's avatar
      gob: protect against pure recursive types. · c9b90c9d
      Rob Pike authored
      There are further changes required for things like
      recursive map types.  Recursive struct types work
      but the mechanism needs generalization.  The
      case handled in this CL is pathological since it
      cannot be represented at all by gob, so it should
      be handled separately. (Prior to this CL, encode
      would recur forever.)
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4206041
      c9b90c9d
    • Adam Langley's avatar
      compress/bzip2: fix bugs · da8e6eec
      Adam Langley authored
      (Once again, proving that a fuzz tester is the first thing that I
      should try.)
      
      R=bradfitzgo
      CC=golang-dev
      https://golang.org/cl/4227042
      da8e6eec
    • Gustavo Niemeyer's avatar
      codereview: fix clpatch with empty diffs · 73aacbda
      Gustavo Niemeyer authored
      Avoid passing the placeholder diff to hgpatch, so that
      clpatch-ing an empty diff grabs the metadata and warns
      about it being empty, rather than failing with a
      hard-to-debug problem ("mkdir: no such file or dir",
      no metadata, etc).
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4172060
      73aacbda
    • Roger Peppe's avatar
      json: use base64 to encode []byte · 83da7d15
      Roger Peppe authored
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4160058
      83da7d15
    • Adam Langley's avatar
      compress/bzip2: add package. · bf693982
      Adam Langley authored
      This code implements bzip2 decompression only.
      
      R=bradfitzgo, r2, nigeltao, rsc
      CC=golang-dev
      https://golang.org/cl/4176051
      bf693982
    • Nigel Tao's avatar
      compress/lzw: implement a decoder. · 658447ab
      Nigel Tao authored
      R=rsc
      CC=bsiegert, golang-dev, mpl
      https://golang.org/cl/4182081
      658447ab