There are a couple of problems with the exit statuses of pcsctun: - If a socket bind fails, errno is returned *after* a call to g_warning() (main.c, row 1999), which itself modifies errno and gives us a meaningless exit code - For some reason, for all errors '-errno' is returned. Surely this should be a positive value (i.e. just 'errno') Perhaps we should print an error message based on the value of errno, and just exit non-zero.