An error occurred fetching the project authors.
- 01 Mar, 2015 1 commit
-
-
David du Colombier authored
In CL 6350, Brad fixed the following system calls to use the program-wide workding directory: - bind - chdir - create - open - remove - stat - umount - wstat However, Russ Cox pointed out that the mount system call should be fixed as well. Change-Id: I6139ed11ba449f18c46e95269f4d0e51be7cec48 Reviewed-on: https://go-review.googlesource.com/6385Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Feb, 2015 1 commit
-
-
Brad Fitzpatrick authored
On Plan 9, the pwd is apparently per-thread not per process. That means different goroutines saw different current directories, even changing within a goroutine as they were scheduled. Instead, track the the process-wide pwd protected by a mutex in the syscall package and set the current goroutine thread's pwd to the correct once at critical points. Fixes #9428 Change-Id: I928e90886355be4a95c2be834f5883e2b50fc0cf Reviewed-on: https://go-review.googlesource.com/6350Reviewed-by:
David du Colombier <0intro@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 08 Sep, 2014 2 commits
-
-
Russ Cox authored
Given: p := alloc() fn_taking_ptr(p) p is NOT recorded as live at the call to fn_taking_ptr: it's not needed by the code following the call. p was passed to fn_taking_ptr, and fn_taking_ptr must keep it alive as long as it needs it. In practice, fn_taking_ptr will keep its own arguments live for as long as the function is executing. But if instead you have: p := alloc() i := uintptr(unsafe.Pointer(p)) fn_taking_int(i) p is STILL NOT recorded as live at the call to fn_taking_int: it's not needed by the code following the call. fn_taking_int is responsible for keeping its own arguments live, but fn_taking_int is written to take an integer, so even though fn_taking_int does keep its argument live, that argument does not keep the allocated memory live, because the garbage collector does not dereference integers. The shorter form: p := alloc() fn_taking_int(uintptr(unsafe.Pointer(p))) and the even shorter form: fn_taking_int(uintptr(unsafe.Pointer(alloc()))) are both the same as the 3-line form above. syscall.Syscall is like fn_taking_int: it is written to take a list of integers, and yet those integers are sometimes pointers. If there is no other copy of those pointers being kept live, the memory they point at may be garbage collected during the call to syscall.Syscall. This is happening on Solaris: for whatever reason, the timing is such that the garbage collector manages to free the string argument to the open(2) system call before the system call has been invoked. Change the system call wrappers to insert explicit references that will keep the allocations alive in the original frame (and therefore preserve the memory) until after syscall.Syscall has returned. Should fix Solaris flakiness. This is not a problem for cgo, because cgo wrappers have correctly typed arguments. LGTM=iant, khr, aram, rlh R=iant, khr, bradfitz, aram, rlh CC=dvyukov, golang-codereviews, r https://golang.org/cl/139360044
-
Russ Cox authored
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.
-
- 09 Jul, 2014 1 commit
-
-
Aram Hăvărneanu authored
Also remove arch-specific Go files in the Plan 9 syscall package LGTM=0intro R=0intro, dave CC=ality, golang-codereviews, jas, mischief, rsc https://golang.org/cl/112720043
-
- 15 May, 2014 1 commit
-
-
Russ Cox authored
for GOOS in darwin freebsd linux nacl netbsd openbsd plan9 solaris windows do for GOARCH in 386 amd64 amd64p32 arm do go vet done done These are all real mistakes being corrected, but none of them should be able to cause problems today due to the NOSPLIT on the functions. However, vet has also identified a few important problems. I'm sending this CL to get rid of the trivial 'go vet' results before attacking the real ones. LGTM=r R=golang-codereviews, r, bradfitz CC=golang-codereviews https://golang.org/cl/95460046
-
- 17 Jan, 2014 2 commits
-
-
Russ Cox authored
The compiler change is an ugly hack. We can do better. ««« original CL description syscall: mark arguments to Syscall as noescape Heap arguments to "async" syscalls will break when/if we have moving GC anyway. With this change is must not break until moving GC, because a user must reference the object in Go to preserve liveness. Otherwise the code is broken already. Reduces number of leaked params from 125 to 36 on linux. R=golang-codereviews, mikioh.mikioh, bradfitz CC=cshapiro, golang-codereviews, khr, rsc https://golang.org/cl/45930043 »»» R=golang-codereviews, r CC=bradfitz, dvyukov, golang-codereviews https://golang.org/cl/53870043
-
Dmitriy Vyukov authored
Heap arguments to "async" syscalls will break when/if we have moving GC anyway. With this change is must not break until moving GC, because a user must reference the object in Go to preserve liveness. Otherwise the code is broken already. Reduces number of leaked params from 125 to 36 on linux. R=golang-codereviews, mikioh.mikioh, bradfitz CC=cshapiro, golang-codereviews, khr, rsc https://golang.org/cl/45930043
-
- 10 Jun, 2013 1 commit
-
-
Dmitriy Vyukov authored
Fixes #5567. R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/10085043
-
- 28 Feb, 2013 1 commit
-
-
Akshat Kumar authored
syscall: Use NewError for all system errors and introduce some new errors for compatibility with other packages and proper error handling in net. Also introduce Temporary and Timeout methods on ErrorString. net: Make errors from dial, accept, listen functions follow the OpError standard and discern whether the underlying error came from syscall. Since Plan 9 uses a correspondence between file and network operations, all system error reporting happens through the underlying file operation. In Go code, we go through package os for file operations, so there is another level of indirection in error types. This change allows us to compare the errors with those in package syscall, when appropriate. os: Just use the error string already present in package os, instead of calling out to package syscall. R=rsc, ality, rminnich, bradfitz CC=golang-dev https://golang.org/cl/7398054
-
- 26 Feb, 2013 1 commit
-
-
Akshat Kumar authored
Separates the implementation of nanotime on 64-bit version of Plan 9 from that on the 32-bit version. The former uses a syscall. R=rsc, rminnich, ality CC=golang-dev https://golang.org/cl/7379051
-
- 30 Oct, 2012 1 commit
-
-
Robert Griesemer authored
Remove trailing whitespace in comments. No other changes. R=r CC=golang-dev https://golang.org/cl/6815053
-
- 09 Oct, 2012 1 commit
-
-
Dmitriy Vyukov authored
This is a part of a bigger change that adds data race detection feature: https://golang.org/cl/6456044 The purpose of this patch is to provide coarse-grained synchronization between all Read() and Write() calls. R=rsc, bradfitz, alex.brainman CC=golang-dev https://golang.org/cl/6610064
-
- 01 Oct, 2012 1 commit
-
-
Akshat Kumar authored
This change updates CL 6576057 for exceptional cases where return values from Syscall/RawSyscall functions are used. The system calls return 32-bit integers. With the recent change in size of `int' in Go for amd64, the type conversion was not catching `-1' return values. This change makes the conversion explicitly `int32'. R=rsc, r CC=golang-dev https://golang.org/cl/6590047
-
- 31 Aug, 2012 1 commit
-
-
Akshat Kumar authored
This set of changes extends the Plan 9 support to include the AMD64 architecture and should work on all versions of Plan 9. R=golang-dev, rminnich, noah.evans, rsc, minux.ma, npe CC=akskuma, golang-dev, jfflore, noah.evans https://golang.org/cl/6479052
-
- 05 Aug, 2012 1 commit
-
-
Alexey Borzenkov authored
Since NUL usually terminates strings in underlying syscalls, allowing it when converting string arguments is a security risk, especially when dealing with filenames. For example, a program might reason that filename like "/root/..\x00/" is a subdirectory or "/root/" and allow access to it, while underlying syscall will treat "\x00" as an end of that string and the actual filename will be "/root/..", which might be unexpected. Returning EINVAL when string arguments have NUL in them makes sure this attack vector is unusable. R=golang-dev, r, bradfitz, fullung, rsc, minux.ma CC=golang-dev https://golang.org/cl/6458050
-
- 04 May, 2012 1 commit
-
-
Anthony Martin authored
Instead use a new type, "Note", whose underlying type is just a string. This change allows us to remove the exported os.Plan9Note type. R=bradfitz, seed, rsc CC=golang-dev https://golang.org/cl/6015046
-
- 19 Apr, 2012 1 commit
-
-
Akshat Kumar authored
syscall.Exit would originally kill only the calling Go proc, leaving behind other procs in the same group. This change makes syscall.Exit call runtime·exit, which due to CL https://golang.org/cl/5617048 will cleanly exit all the Go procs in the group. R=golang-dev, rsc, rminnich, remyoudompheng, ality, john CC=golang-dev, mirtchovski https://golang.org/cl/6036051
-
- 17 Feb, 2012 1 commit
-
-
Mikio Hara authored
Also fixes plan9 cross-build. R=rsc, r CC=golang-dev https://golang.org/cl/5675073
-
- 19 Jan, 2012 1 commit
-
-
Mikio Hara authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5532097
-
- 13 Jan, 2012 1 commit
-
-
Mikio Hara authored
R=rsc, r CC=golang-dev https://golang.org/cl/5545048
-
- 21 Nov, 2011 1 commit
-
-
Lucio De Re authored
exec_plan9.go: . Adjusted return argument to match other changes. #mksyscall.pl: . Replaced "err = e1" with "err = NewError(e1)". * Change abandoned, Russ made a better suggestion involving syscall_plan9.go. syscall_plan9.go: . Removed redundant "err = nil" lines. . Adjusted //sys lines for mksyscall.pl. * Replaced "err string" with "err ErrorString" in return arguments. zsyscall_plan9_386.go: . This module ought to be generated, but as it exists in the repository, I rebuilt it and checked that it matched expectations. Anybody is welcome to remove this from the repository if they feel it should go, but remember that not all Plan 9 installations have a working Perl. R=rsc CC=ality, golang-dev https://golang.org/cl/5411046
-
- 16 Nov, 2011 1 commit
-
-
Lucio De Re authored
R=rsc, bradfitz CC=golang-dev https://golang.org/cl/5371092
-
- 14 Nov, 2011 2 commits
-
-
Russ Cox authored
The environment is needed by package time, which we want not to depend on os (so that os can use time.Time), so push down into syscall. Delete syscall.Sleep, now unnecessary. The package os environment API is preserved; it is only the implementation that is moving to syscall. Delete os.Envs, which was undocumented, uninitialized on Windows and Plan 9, and not maintained by Setenv and Clearenv. Code can call os.Environ instead. R=golang-dev, r CC=golang-dev https://golang.org/cl/5370091
-
Russ Cox authored
- syscall (not os) now defines the Errno type. - the low-level assembly functions Syscall, Syscall6, and so on return Errno, not uintptr - syscall wrappers all return error, not uintptr. R=golang-dev, mikioh.mikioh, r, alex.brainman CC=golang-dev https://golang.org/cl/5372080
-
- 08 Nov, 2011 1 commit
-
-
Anthony Martin authored
R=rsc CC=golang-dev https://golang.org/cl/5330067
-
- 31 Oct, 2011 1 commit
-
-
Andrey Mirtchovski authored
Plan 9's await() returns '' for nil exit status but programs, most notably gotest, see this as an error return. R=rsc CC=golang-dev https://golang.org/cl/5305079
-
- 17 Aug, 2011 1 commit
-
-
Fazlul Shahriar authored
All tests enabled by default passes except those in timeout_test.go. For TestLookupPort, add an entry for "bootps" in /lib/ndb/common (Plan 9 calls it "bootp"). I've sent out a patch to fix this. R=paulzhol, rsc, mikioh.mikioh CC=ality, golang-dev https://golang.org/cl/4779041
-
- 14 Jul, 2011 1 commit
-
-
Robert Griesemer authored
manual changes in src/pkg/go/printer, src/cmd/gofix/signal_test.go (cd src/cmd/gofix/testdata; gofmt -w *.in *.out) (cd src/pkg/go/printer; gotest -update) gofmt -w misc src runs all tests R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4715041
-
- 20 Jun, 2011 1 commit
-
-
Anthony Martin authored
R=paulzhol, mirtchovski, fshahriar, alex.brainman, r CC=golang-dev https://golang.org/cl/4386041
-
- 14 Jun, 2011 1 commit
-
-
Yuval Pavel Zholkover authored
Move mmapper from syscall.go to syscall_unix.go. Remove Sendfile from syscall_plan9.go. R=rsc, alex.brainman CC=golang-dev https://golang.org/cl/4368060
-
- 20 May, 2011 1 commit
-
-
Brad Fitzpatrick authored
R=iant CC=golang-dev https://golang.org/cl/4553051
-
- 13 Apr, 2011 1 commit
-
-
Robert Griesemer authored
R=r, bradfitzwork CC=golang-dev https://golang.org/cl/4406044
-
- 02 Apr, 2011 1 commit
-
-
Yuval Pavel Zholkover authored
CC=golang-dev https://golang.org/cl/3816043
-