https://bugs.kde.org/show_bug.cgi?id=487862

--- Comment #2 from John Reiser <jrei...@bitwagon.com> ---
(In reply to Paul Floyd from comment #1)
> brk() is fairly old, removed from posix accordingly to the Linux manpage.
> Increasingly I see it getting removed from platforms.

In this case "old" means good, well-documented, well-debugged, reliable.
Please name explicitly some platforms which are removing brk(), and their
typical usage environments.

The brk() system call has been present in most *nix-like systems since 1970,
which is more than 50 years.  brk() is present in Linux today, and Linux
has a strong policy and implementation record for backwards compatibility
of system calls; brk() will not disappear from Linux anytime soon.

brk() is particularly useful during process startup when a call to malloc()
might not yet be supported;.  A programming language runtime can
use brk() via an inline system call.  See _dl_early_allocate() in glibc, for
example.

brk() and sbrk() enable an easy implementation of  mark() and release()
for Pascal run-time support.

brk() is quite handy for use by other in-process emulators, which must
deal with arbitrary mmap() anyway.  For instance, qemu relies on brk() and
sbrk().

brk() is multi-thread safe and async-signal safe without requiring
any user-mode locks.  It can be used safely in a signal handler.
Thread managers may rely on brk() regardless of the implementation of malloc().

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to