protect select() from EINTR
don't mix perl read/eof/readline and sysread/syswrite. implement own sysread/syswrite wrapper, protected from EINTR and other sysread/syswrite issues
Remove some debug output
Simplify and fix signal handling

1) always use symbolic constant instead of numbers when sending signals. For example: freeBSD signal 12 is SIGSYS, while linux 12 is SIGUSR1. And default action for SIGSYS is terminate with a coredump.

2) no need to handle SIGINT/SIGTERM in child. parent will receive SIGCHLD in any way

3) localize $!, $^E, $@ in signal handlers, just in case - we don't really need to do it probably, as we just exit() in handler

4) make sure parent handler is called only once
Print sane error messages when either child or parent dies

1) In case child dies, we need to avoid crashing with stacktrace on invalid input from child. Easier to wait for SIGCHLD. Also need to kill other children
2) In case parent dies, detect it when communicating with parent and silently exit. Would be great to implement killing of all childs in __DIE__ handler of parent
Merge branch 'master' into eintr_fixes
Merge branch 'development' into eintr_fixes
Fix incorrect signal number after successfull termination.

12 is not always SIGUSR2, on some systems (FreeBSD) cause perl core dump
Merge branch 'master' into eintr_fixes
Merge branch 'eintr_fixes' into development
ChangeLog updated for eintr_fixes
Protect PerlIO + STDERR from hang.

When terminal-encoding set to single-byte encoding, whole thing can hang if random data printed to STDERR (Example: confess) https://rt.perl.org/rt3//Public/Bug/Display.html?id=117537
Add encoding fix to changelog
README - Journal concept explanation added + misc fixes