I am ignorant of the meaning of the words "software serial read blocking".
software serial = a serial connection on pins other than 0 and 1
read = a function that looks at what was sent over the serial
blocking = takes a lot of time; more specifically don't go on to the next function until some sort of external response is gotten (in this case, whether or not read() returns some value if nothing was received over the serial lines).
Is ((the (software serial) read()) blocking)?
"Does the read() function used by the software serial library wait until a character is received, or does it just give an "error" value?"