Strange behavior for 'read -n 5'

Daniel Baluta dbaluta at ixiacom.com
Mon Jan 9 16:02:29 UTC 2012


Hello,

We have some problems with read command on latest busybox
version.

$ read -n 5
123456

This command isn't returning after the fifth character. It seems
that it is blocked in the poll call. Only after the 6th character
is entered, the poll returns.

poll([{fd=0, events=POLLIN}], 1, -1)    = 1 ([{fd=0, revents=POLLIN}])
read(0, "1", 1)                         = 1
poll([{fd=0, events=POLLIN}], 1, -1)    = 1 ([{fd=0, revents=POLLIN}])
read(0, "2", 1)                         = 1
poll([{fd=0, events=POLLIN}], 1, -1


This is very likely to be caused by the latest patches:
* hush: use SA_RESTARTed signal handlers across read. (10c0131a)
* hush: make read builtin interruptible. (80542bad)

thanks,
Daniel.


More information about the busybox mailing list