1. 03 Jun, 2011 9 commits
  2. 02 Jun, 2011 21 commits
  3. 01 Jun, 2011 10 commits
    • Gustavo Niemeyer's avatar
      sync: always wake up previously sleeping goroutines on Cond.Signal · 17bfa32f
      Gustavo Niemeyer authored
      This changes the internal implementation of Cond so that
      it uses two generations of waiters.  This enables Signal
      to guarantee that it will only wake up waiters that are
      currently sleeping at the call time.
      
      Fixes #1648.
      
      R=dvyukov, gustavo, rsc
      CC=golang-dev
      https://golang.org/cl/4524083
      17bfa32f
    • Robert Griesemer's avatar
      big: fix broken overflow test · 158b427e
      Robert Griesemer authored
      - tested with GOARCH=386
      - tested with GOARCH=amd64
      
      R=iant
      CC=golang-dev
      https://golang.org/cl/4526100
      158b427e
    • Brad Fitzpatrick's avatar
      exec: new API, replace Run with Command · f259f6ba
      Brad Fitzpatrick authored
      This removes exec.Run and replaces exec.Cmd with a
      new implementation. The new exec.Cmd represents
      both a currently-running command and also a command
      being prepared. It has a good zero value.
      
      You can Start + Wait on a Cmd, or simply Run it.
      Start (and Run) deal with copying stdout, stdin,
      and stderr between the Cmd's io.Readers and
      io.Writers.
      
      There are convenience methods to capture a command's
      stdout and/or stderr.
      
      R=r, n13m3y3r, rsc, gustavo, alex.brainman, dsymonds, r, adg, duzy.chan, mike.rosset, kevlar
      CC=golang-dev
      https://golang.org/cl/4552052
      f259f6ba
    • Robert Griesemer's avatar
      fix build: remove non-portable test case · 2132a7f5
      Robert Griesemer authored
      On a 32bit machine, the big.Words are only 32bit.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4561055
      2132a7f5
    • Robert Griesemer's avatar
    • Robert Griesemer's avatar
      big: ~8x faster number scanning · ce2701b2
      Robert Griesemer authored
      - better number scanning algorithm
      - fixed a couple of bugs related to base interpretation
      - added scan benchmark
      - added more test cases and made tests more precise
      - introduced Int.scan method matching nat.scan
      - refactored Int.Scan; now uses int.scan
      - refactored Int.SetString; now uses int.scan
      
      There is more potential, this was a fairly simple change.
      
      gotest -test.bench="ScanPi" before/after (best of 3 runs):
      big.BenchmarkScanPi	   1000	    2024900 ns/op
      big.BenchmarkScanPi       10000      257540 ns/op
      
      R=chickencha
      CC=golang-dev, rsc
      https://golang.org/cl/4527089
      ce2701b2
    • Russ Cox's avatar
      undo CL 4557058 / b4c2ffae7034 · 16dbf218
      Russ Cox authored
      Using the getaddrinfo order is only okay if we
      are smart enough to try multiple addresses in Dial.
      Since the code does not do that, we must make
      the right first choice, regardless of what getaddrinfo
      does, and more often that not that means using the
      IPv4 address, even on IPv6 systems.  With the CL
      applied, gotest fails in package net on OS X.
      
      helix.cam=; gotest
      ...
      --- FAIL: net.TestDialGoogleIPv4 (1.05 seconds)
              -- 74.125.226.179:80 --
              -- www.google.com:80 --
              Dial("tcp", "", "www.google.com:80") = _, dial tcp [2001:4860:800f::69]:80: address family not supported by protocol family
              -- 74.125.226.179:http --
              -- www.google.com:http --
              Dial("tcp", "", "www.google.com:http") = _, dial tcp [2001:4860:800f::69]:80: address family not supported by protocol family
              -- 074.125.226.179:0080 --
              -- [::ffff:74.125.226.179]:80 --
              -- [::ffff:4a7d:e2b3]:80 --
              -- [0:0:0:0:0000:ffff:74.125.226.179]:80 --
              -- [0:0:0:0:000000:ffff:74.125.226.179]:80 --
              -- [0:0:0:0:0:ffff::74.125.226.179]:80 --
      FAIL
      gotest: "./6.out" failed: exit status 1
      
      ««« original CL description
      net: name-based destination address selection
      
      getaddrinfo() orders the addresses according to RFC 3484.
      
      This means when IPv6 is working on a host we get results like:
          []string = {"2001:4810::110", "66.117.47.214"}
      
      and when it's not working we get:
          []string = {"66.117.47.214", "2001:4810::110"}
      
      thus can drop firstFavoriteAddr.
      
      This also means /etc/gai.conf works on relevant systems.
      
      R=rsc, mikioh.mikioh
      CC=golang-dev
      https://golang.org/cl/4557058
      
      »»»
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/4532101
      16dbf218
    • Adam Langley's avatar
      crypto/openpgp: add support for symmetrically encrypting files. · e0cca45f
      Adam Langley authored
      This mostly adds the infrastructure for writing various forms of
      packets as well as reading them. Adding symmetric encryption support
      was simply an easy motivation.
      
      There's also one brown-paper-bag fix in here. Previously I had the
      conditional for the MDC hash check backwards: the code was checking
      that the hash was *incorrect*. This was neatly counteracted by another
      bug: it was hashing the ciphertext of the OCFB prefix, not the
      plaintext.
      
      R=bradfitz
      CC=golang-dev
      https://golang.org/cl/4564046
      e0cca45f
    • Mikkel Krautz's avatar
      asn1: fix marshalling of empty optional RawValues · 2899535d
      Mikkel Krautz authored
      This fixes creation of X509 certificates with
      RSA keys. (Broken by e5ecc416f2fd)
      
      R=agl
      CC=golang-dev
      https://golang.org/cl/4553052
      2899535d
    • Luuk van Dijk's avatar
      gc: make merely referencing an outer variable in a closure not force heapallocation. · 2c4edb0e
      Luuk van Dijk authored
      before: runtime_test.BenchmarkCallClosure1       20000000              135 ns/op
      after:  runtime_test.BenchmarkCallClosure1      500000000                6 ns/op
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4527091
      2c4edb0e