revise 23:00 5.20

add more comments, revise file descriptor open upper limit error, close
console when fork fails, use condition2 to achieve join instead of
condition, for atomicity.