newlib-cygwin/winsup/cygwin
Corinna Vinschen 07ec40170a Cygwin: smallprint.cc: Convert tmpbuf to lockless
The old technique was from a time when we had to reduce stack pressure
by moving 64K buffers elsewhere.  It was implemented using a static
global buffer, guarded by a muto. However, that adds a lock which may
unnecessarily serialize threads.

Use Windows heap buffers per invocation instead.  HeapAlloc/HeapFree are
pretty fast, scale nicely in multithreaded scenarios and don't serialize
threads unnecessarily.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-08-22 12:01:15 +02:00
..
DevDocs Cygwin: Reorganize cygwin source dir 2022-08-05 12:02:11 +02:00
fhandler Cygwin: fhandler/null.cc: remove redundant includes 2022-08-05 12:02:11 +02:00
include Cygwin: stop exporting _alloca 2022-08-08 18:16:09 +02:00
lib Cygwin: drop __stdcall usage 2022-08-04 20:54:09 +02:00
libc Cygwin: Reorganize cygwin source dir 2022-08-05 12:02:11 +02:00
local_includes Cygwin: wchar.h: Fix comment 2022-08-20 20:27:37 +02:00
math cacosh: Use approximation for large input. 2022-08-04 12:55:52 +02:00
mm Cygwin: mm/malloc_wrapper.cc: fix a comment 2022-08-10 18:05:12 +02:00
regex
release newlocale: fix crash when trying to write to __C_locale 2022-08-12 12:29:26 +02:00
scripts Cygwin: Reorganize cygwin source dir 2022-08-05 12:02:11 +02:00
sec Cygwin: Reorganize cygwin source dir 2022-08-05 12:02:11 +02:00
tzcode winsup: delete old _LIBC logic 2021-11-10 20:16:15 -05:00
x86_64 Cygwin: move mcountFunc.S to x86_64 target dir 2022-08-08 16:50:04 +02:00
Makefile.am Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
advapi32.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
aio.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
assert.cc
autoload.cc Cygwin: drop __stdcall usage 2022-08-04 20:54:09 +02:00
automode.c
binmode.c
clock.cc Cygwin: clock.cc: Drop redundant Windows prototypes 2022-08-04 22:13:59 +02:00
config.h.in
create_posix_thread.cc Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
crt0.c Cygwin: drop 32 bit considerations in crt0 code 2022-05-16 18:17:06 +02:00
ctype.cc Cygwin: drop macro and code for CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE 2022-08-03 15:59:37 +02:00
cxx.cc
cygthread.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
cygtls.cc Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
cygwait.cc Ensure nanosleep(2) never returns negative rem 2021-07-22 09:57:40 +02:00
cygwin.din Cygwin: stop exporting _alloca 2022-08-08 18:16:09 +02:00
cygwin.ldif
cygwin.sc.in Cygwin: drop 32 bit target from linker script 2022-07-14 12:33:21 +02:00
cygxdr.cc
dcrt0.cc Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
debug.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
devices.cc Cygwin: Implicitly support the /dev/fd symlink and friends 2022-02-22 13:33:00 +01:00
devices.in Cygwin: Implicitly support the /dev/fd symlink and friends 2022-02-22 13:33:00 +01:00
dir.cc change _COMPILING_NEWLIB to _LIBC 2021-11-15 19:32:23 -05:00
dlfcn.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
dll_init.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
dtable.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
environ.cc Cygwin: drop macro and code for CYGWIN_VERSION_DLL_MALLOC_ENV 2022-08-03 15:35:34 +02:00
errno.cc Cygwin: create sparse errmap array 2022-08-04 15:16:48 +02:00
exceptions.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
exec.cc Cygwin: rename __cygwin_environ and drop env redirection via cur_environ() 2022-07-28 22:00:40 +02:00
external.cc Cygwin: rename __cygwin_environ and drop env redirection via cur_environ() 2022-07-28 22:00:40 +02:00
fcntl.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
fenv.c
flock.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
fork.cc Cygwin: restore '#ifdef __x86_64__' for CPU-specific code 2022-06-10 16:38:34 -04:00
forkable.cc
gcrt0.c Revert "sys/types.h: Don't include sys/_stdint.h" 2022-05-04 15:08:44 +02:00
glob.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
glob_pattern_p.cc
globals.cc Cygwin: syscalls.cc: remove ".dll" from blessed_executable_suffixes 2022-08-04 15:51:39 -04:00
gmon.c Cygwin: Zero out gmon header before use 2021-06-26 15:24:27 +01:00
grp.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
hookapi.cc Cygwin: Fix previous attempt to drop i386 targets from hookapi 2022-07-28 16:38:01 +02:00
init.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
ioctl.cc
ipc.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
kernel32.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
ldap.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
libstdcxx_wrapper.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
loadavg.cc
lsearch.cc
mcount.c
miscfuncs.cc Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
mktemp.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
mount.cc Cygwin: mount_info::get_mounts_here: alloc temp mountpoint info on cygheap 2022-08-05 12:01:45 +02:00
msg.cc
net.cc Cygwin: net.cc: convert wsock_errmap into a simple array of error codes 2022-08-04 11:45:58 +02:00
netdb.cc
nfs.cc
nlsfuncs.cc Cygwin: drop support for systems not supporting RFC 4646 locales 2021-10-29 18:19:45 +02:00
ntea.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
passwd.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
path.cc Cygwin: fix return value of symlink_info::check 2022-08-09 16:58:08 -04:00
pinfo.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
poll.cc Cygwin: poll: Fix a bug on inquiring same fd with different events. 2022-06-27 10:54:24 +09:00
posix_ipc.cc Cygwin: move POSIX semaphore API functions to posix_ipc.cc 2022-08-10 18:11:57 +02:00
posix_timer.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
profil.c Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
pseudo-reloc.cc Cygwin: drop macro and code for CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL 2022-08-03 16:01:29 +02:00
quotactl.cc
random.cc
registry.cc
resource.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
scandir.cc
sched.cc Cygwin: drop support for systems not supporting processor groups 2021-10-29 18:19:45 +02:00
select.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
sem.cc
setlsapwd.cc
shm.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
signal.cc Cygwin: remove regparm.h 2022-05-29 17:45:52 -04:00
sigproc.cc Cygwin: sigproc.cc: drop Static macro, use explicit NO_COPY instead 2022-08-19 21:55:09 +02:00
smallprint.cc Cygwin: smallprint.cc: Convert tmpbuf to lockless 2022-08-22 12:01:15 +02:00
spawn.cc Cygwin: pty: Fix a small bug in is_console_app(). 2022-08-05 17:59:40 +09:00
strace.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
strfuncs.cc Cygwin: drop all usages of NTAPI 2022-08-04 22:13:59 +02:00
strsep.cc Cygwin: C++17: register keyword is deprecated 2021-08-26 22:14:11 +02:00
strsig.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
sync.cc
syscalls.cc Cygwin: syscalls.cc: remove ".dll" from blessed_executable_suffixes 2022-08-04 15:51:39 -04:00
sysconf.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
syslog.cc
termios.cc Cygwin: drop macro and code for CYGWIN_VERSION_DLL_IS_OLD_TERMIOS 2022-08-03 15:35:29 +02:00
textmode.c
textreadmode.c
thread.cc Cygwin: move POSIX semaphore API functions to posix_ipc.cc 2022-08-10 18:11:57 +02:00
timerfd.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
times.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
tls_pbuf.cc
tty.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
uinfo.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
uname.cc Cygwin: uname: drop useless support for unsupported CPU arches 2022-07-29 12:19:54 +02:00
wait.cc
wincap.cc Cygwin: console: Allow pasting very long text input. 2022-07-02 11:24:11 +09:00
window.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
winf.cc
winver.rc