hi guys!
I realized that "waitpid" in Guile will cause my program crash while "waitpid" actually returned -1. I believe it's unnecessary. I think the better way is we deal with it by ourselves if "waitpid in POSIX" returned -1. The SCM_SYSERROR bother me a lot. I hope my program get robustness other than crash. 

Yes I can wrap my own "waipid" for my program if no one get interested in this patch. Just a suggestion. ;-)
What you guys think?