1. 28 Jul, 2010 3 commits
  2. 27 Jul, 2010 11 commits
  3. 26 Jul, 2010 12 commits
  4. 25 Jul, 2010 3 commits
  5. 23 Jul, 2010 2 commits
  6. 22 Jul, 2010 5 commits
  7. 21 Jul, 2010 4 commits
    • Russ Cox's avatar
      ld: various bug fixes · 916f896a
      Russ Cox authored
      Fixes #937.
      Fixes #938.
      Fixes #939.
      Fixes #940.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/1886043
      916f896a
    • Andrey Mirtchovski's avatar
      strings.Bytes: fix typo in comment · 8629e5a6
      Andrey Mirtchovski authored
      R=adg, rsc
      CC=golang-dev
      https://golang.org/cl/1886042
      8629e5a6
    • Ian Lance Taylor's avatar
      io: Avoid another race condition in pipes. · 9a2f0029
      Ian Lance Taylor authored
      Goroutine 1:
        Call Read on read half of pipe, entering pipeHalf.rw.
        Check ioclosed field, which is false.
        Send data to p.c1
        Wait for response on p.c2.
      
      Goroutine 2:
        Call Close on read half of pipe, entering pipeHalf.close.
        Set closed field.
        Send error to p.cclose.
        Set ioclosed field.
        Send 1 to p.done.
        Return and exit goroutine.
      
      Goroutine 3:
        This is the goroutine running pipe.run, and for some reason
        it has started late.
        Read error from p.rclose; set rerr and continue.
        Read 1 from p.done; increment ndone and continue.
        Read data from r1 (sent by goroutine 1); set r1 = nil and continue
      
      Now goroutine 1 is waiting for a response, and goroutine 3 is
      waiting for something else to happen.
      
      This patch fixes the race by having the runner check whether
      the read half is closed when it is asked for read data, and
      similarly for the corresponding race on the write half.
      
      This patch also fixes the similar race in which ndone gets
      bumped up to 2 while there is a reader or writer waiting.
      
      There is still another race to fix.  It is possible for the
      read half and the write half to both be closed, and for the
      runner goroutine to exit, all before the runner goroutine sees
      the request from a reader.  E.g., in the above, have goroutine
      2 also close the write half, and have goroutine 3 see both
      done messages before it sees the request from goroutine 1.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/1862045
      9a2f0029
    • Peter Mundy's avatar
      syscall: On Windows, Errstr FormatMessage has no values to insert. · 6a6d8fdc
      Peter Mundy authored
      For the Windows version of syscall Errstr, set the
      FORMAT_MESSAGE_IGNORE_INSERTS value of the FormatMessage
      Flags argument when there are no values to insert.
      
      R=rsc, brainman
      CC=golang-dev
      https://golang.org/cl/1868043
      6a6d8fdc