1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00
cde/src/lib/libast/sfio
Martijn Dekker ff385e5a89 Speed up 'read', fixing macOS hang
This fixes a hanging bug that could occur on macOS when using the
'read' command to read from a FIFO and encountering end-of-file
without a final newline character. It also makes the 'read' command
perform 15-25% faster on macOS and Linux and maybe other systems.

src/lib/libast/sfio/sfpkrd.c: sfpkrd():
- Get rid of the optional stuff that uses the poll(2) or select(2)
  syscalls. The only thing that is required to avoid regressions is
  the code that was conditional upon the socket_peek feature test,
  which tests for the correct functioning of the recv(2) syscall.
  This has now been made mandatory. The rest now uses what was
  previously a fallback in plain C, resulting in a function that is
  not only more readable, but actually faster than the syscalls.

Resolves: https://github.com/ksh93/ksh/issues/118
2020-08-19 01:36:01 +01:00
..
_sfclrerr.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfdlen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfeof.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sferror.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sffileno.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfgetc.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfgetl.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfgetl2.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfgetu.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfgetu2.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfllen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfopen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfputc.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfputd.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfputl.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfputm.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfputu.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfslen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfstacked.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfulen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
_sfvalue.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfclose.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfclrlock.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfcvt.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfdisc.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfdlen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfecvt.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfexcept.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfextern.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sffcvt.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sffilbuf.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfflsbuf.c C code bug fixes 2020-02-12 13:09:47 -05:00
sfgetd.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfgetl.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfgetm.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfgetr.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfgetu.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfhdr.h patches to build on freebsd 12 2020-02-24 12:58:22 -05:00
sfllen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfmode.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfmove.c C code bug fixes 2020-02-12 13:09:47 -05:00
sfmutex.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfnew.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfnotify.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfnputc.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfopen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfpeek.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfpkrd.c Speed up 'read', fixing macOS hang 2020-08-19 01:36:01 +01:00
sfpoll.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfpool.c C code bug fixes 2020-02-12 13:09:47 -05:00
sfpopen.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfprintf.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfprints.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfpurge.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfputd.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfputl.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfputm.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfputr.c Fix various crashes by removing invalid memccpy() use 2020-06-12 01:45:16 +02:00
sfputu.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfraise.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfrd.c C code bug fixes 2020-02-12 13:09:47 -05:00
sfread.c C code bug fixes 2020-02-12 13:09:47 -05:00
sfreserve.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfresize.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfscanf.c Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
sfseek.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfset.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfsetbuf.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfsetfd.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfsize.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfsk.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfstack.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfstrtod.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfstrtof.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfswap.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfsync.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sftable.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sftell.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sftmp.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfungetc.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfvprintf.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfvscanf.c Fix 80 typos in comments 2020-06-12 01:45:12 +02:00
sfwalk.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfwr.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
sfwrite.c Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00
vthread.h Version: 2012-08-01-master 2016-01-11 15:54:23 -05:00