add: TRACE(("tty_input_read(tty = %p, length = %lu, mode = %lu)\n", tty, length, mode));
context: tty_input_read(struct tty *tty, void *buffer, size_t *_length, uint32 mode){	bool dontBlock = (mode & O_NONBLOCK) != 0;	size_t length = *_length;	ssize_t bytesRead = 0;	if (length == 0)		return B_OK;	ReaderLocker locker(tty);	while (bytesRead == 0) {		status_t status = locker.AcquireReader(dontBlock);		if (status != B_OK) {			*_length = 0;			return status;		}		// ToDo: add support for ICANON mode		bytesRead = line_buffer_user_read(tty->input_buffer, (char *)buffer, length);		if (bytesRead < B_OK) {			*_length = 0;			locker.ReportRead(0);			return bytesRead;		}	}	locker.ReportRead(bytesRead);	*_length = bytesRead;	return B_OK;}