Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Fixes #395.
|
|
getdirentries(2) has been deprecated on macOS since 10.5 (ten releases ago).
Using it requires disabling 64-bit inodes, but that in turn makes binaries
incompatible with some dynamic libraries, most notably ASAN.
At some point getdirentries(2) will actually be removed.
For both these reasons, switch to opendir/readdir.
A little clunky since we have to keep the DIR* hidden away
to preserve the int fd interfaces, but it lets us remove a bunch
of OS-specific code too.
|
|
More preparation for opendir.
|
|
More preparation for opendir.
|
|
Preparation for using opendir.
|
|
atomics were added in GCC 4.9: https://gcc.gnu.org/gcc-4.9/changes.html
|
|
|
|
C11 is apparently too new for these systems.
Fixes #55.
|
|
The issue manifests in fork: POSIX fork mandates that a
fork'd process is created with a single thread. If a
multithreaded program forks, and some thread was in
malloc() when the fork() happened, then in the child
the lock will be held but there will be no thread to
release it.
We assume the system malloc() must already know how to
deal with this and is thread-safe, but it won't know about
our custom spinlock. Judging that this is no longer
necessary (the lock code was added 15 years ago) we remove
it.
Signed-off-by: Dan Cross <cross@gajendra.net>
|
|
POSIX setenv does everything that p9putenv's body,
so just delegate to that.
Signed-off-by: Dan Cross <cross@gajendra.net>
|
|
First use of <stdatomic.h>.
We will see if any supported systems don't have it yet.
(C11 was so last decade.)
Fixes #338.
|
|
Real disk devices should be block devices anyway.
One user reported the disksize check causing a
system reboot during vac of a tree with an "interesting"
device.
Fixes #103.
|
|
Fixes #238.
|
|
|
|
|
|
Under certain conditions it looks like frexp gets #defined
to something else on macOS during system headers,
which then breaks the declaration in libc.h.
|
|
As usual, gcc finds some real problems but also reports a ton
of noise. Fix the problems and quiet the noise.
|
|
Remote whitespace at the ends of lines.
Remove blank lines from the ends of files.
Change modes on source files so that they
are not executable.
Signed-off-by: Dan Cross <cross@gajendra.net>
|
|
|
|
GCC pointed this out with some "warning: ‘strncpy’ specified bound NUM
equals destination size [-Wstringop-truncation]" warnings.
Change-Id: Id8408b165f6e4ae82c96a77599d89f658d979b32
|
|
These make no sense and are not really needed at all.
Add a best-effort attempt to get at the gcc/clang macro
in lib9.h, but if it fails, no big deal.
Fixes #324.
|
|
Fixes #15.
|
|
As written, it is passing a rune to strchr, which likely ignores
all but the bottom 8 bits of the rune. Long-standing Plan 9 bug too.
Fixes #87.
Change-Id: I6a833373b308bed8760d6989972c7f77b4ef3838
Reviewed-on: https://plan9port-review.googlesource.com/2921
Reviewed-by: Russ Cox <rsc@swtch.com>
|
|
Since glibc 2.20, the _BSD_SOURCE and _SVID_SOURCE macros are
deprecated in favor of the _DEFAULT_SOURCE macro.
See https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes
Change-Id: I18dd6a698f3f5aa51d1e45bf53b031bb061e17e8
Reviewed-on: https://plan9port-review.googlesource.com/1500
Reviewed-by: David du Colombier <0intro@gmail.com>
|
|
Really trivial port.
Change-Id: Ib2e3ad48df555ca4bd9339ddf79a832be895bd95
Reviewed-on: https://plan9port-review.googlesource.com/1030
Reviewed-by: Russ Cox <rsc@google.com>
|
|
Change-Id: I0af67bc44c7bb62a8e5a47eac597367f521f1c11
Reviewed-on: https://plan9port-review.googlesource.com/1210
Reviewed-by: Russ Cox <rsc@google.com>
|
|
Change-Id: I6eaeebc9b6a4d78ce07efe7680ba8f2eff16462f
Reviewed-on: https://plan9port-review.googlesource.com/1230
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Russ Cox <rsc@google.com>
|
|
Fix compilation problems, libdraw still doesn't work right yet.
LGTM=rsc
R=rsc
https://codereview.appspot.com/67820046
|
|
R=rsc
http://codereview.appspot.com/6744054
|
|
R=rsc
http://codereview.appspot.com/6749053
|
|
In some situations, gethostbyname can
return an empty address list.
R=rsc
http://codereview.appspot.com/6443097
|
|
Not all systems have ss_len, and we've never set it before.
R=rsc
http://codereview.appspot.com/6497102
|
|
R=rsc
http://codereview.appspot.com/6495109
|
|
On some systems, the third argument of connect() and bind()
is expected to be the length of the address family instead
of the length of the sockaddr structure.
R=rsc
http://codereview.appspot.com/6489072
|
|
R=rsc
http://codereview.appspot.com/6457077
|
|
Fix build error and warning on OpenBSD 5.1,
as reported by Dimitri Sokolyuk.
R=rsc
http://codereview.appspot.com/6350044
|
|
The function p9dialparse() returns the host as a sockaddr_storage
structure instead of a u32int, to be able to handle both IPv4
and IPv6 addresses. Because the sockaddr_storage structure also
handle port numbers and Unix path names, there is no longer
need to set them in the calling functions. However, these values
are still returned for convenience.
The sockaddr_in and sockaddr_un structures have been replaced
by sockaddr_storage to handle Unix, IPv4 and IPv6 sockets.
Names and addresses are resolved using either gethostbyname()
or getaddrinfo() functions.
The getaddrinfo() function is documented in RFC2553 and standardized
since POSIX.1-2001. It supports both IPv4 and IPv6 addresses.
The gethostbyname() function is deprecated since POSIX.1-2008.
However, some libc implementations don't handle getaddrinfo()
properly, thus we preferred to try gethostbyname() first.
I've tried to preserve most of the old code logic to prevent
from surprising or unwanted behavior.
R=rsc
http://codereview.appspot.com/6255068
|
|
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/4826049
|
|
R=rsc
http://codereview.appspot.com/4838047
|
|
R=rsc
http://codereview.appspot.com/4436071
|
|
thanks to Erik Quanstrom
R=rsc
http://codereview.appspot.com/3469042
|
|
R=, rsc
CC=
http://codereview.appspot.com/1762045
|
|
R=rsc
http://codereview.appspot.com/376045
|
|
R=rsc
http://codereview.appspot.com/396042
|
|
http://codereview.appspot.com/123050
|
|
http://codereview.appspot.com/116096
|
|
http://codereview.appspot.com/116075
|
|
http://codereview.appspot.com/116073
|
|
http://codereview.appspot.com/109049
|