From 73b5b93a594570a013c1a082bed1e3da51785f76 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 13 Jun 2012 05:56:09 +0000 Subject: [PATCH] os/user: Use Entersyscall. From-SVN: r188496 --- libgo/go/os/user/lookup_unix.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libgo/go/os/user/lookup_unix.go b/libgo/go/os/user/lookup_unix.go index 68f8914d089c..ebc8684825db 100644 --- a/libgo/go/os/user/lookup_unix.go +++ b/libgo/go/os/user/lookup_unix.go @@ -73,11 +73,14 @@ func lookup(uid int, username string, lookupByName bool) (*User, error) { const bufSize = 1024 buf := make([]byte, bufSize) if lookupByName { - rv := libc_getpwnam_r(syscall.StringBytePtr(username), + p := syscall.StringBytePtr(username) + syscall.Entersyscall() + rv := libc_getpwnam_r(p, &pwd, &buf[0], bufSize, &result) + syscall.Exitsyscall() if rv != 0 { return nil, fmt.Errorf("user: lookup username %s: %s", username, syscall.GetErrno()) } @@ -85,11 +88,13 @@ func lookup(uid int, username string, lookupByName bool) (*User, error) { return nil, UnknownUserError(username) } } else { + syscall.Entersyscall() rv := libc_getpwuid_r(syscall.Uid_t(uid), &pwd, &buf[0], bufSize, &result) + syscall.Exitsyscall() if rv != 0 { return nil, fmt.Errorf("user: lookup userid %d: %s", uid, syscall.GetErrno()) }