diff -udrNP openct-0.6.6.debian/debian/changelog openct-0.6.6/debian/changelog --- openct-0.6.6.debian/debian/changelog 2006-07-13 14:19:15.000000000 +0200 +++ openct-0.6.6/debian/changelog 2006-07-13 14:26:54.000000000 +0200 @@ -1,3 +1,10 @@ +openct (0.6.6-2ubuntu1) unstable; urgency=low + + * Create /var/run/openct in init script (closes 50393) + * Apply fix for interrupted system call on read (closes 50299) + + -- Andreas Jellinghaus Thu, 13 Jul 2006 14:19:39 +0200 + openct (0.6.6-2) unstable; urgency=low * debian/openct.rules: New file, udev rules file. diff -udrNP openct-0.6.6.debian/etc/init-script.in openct-0.6.6/etc/init-script.in --- openct-0.6.6.debian/etc/init-script.in 2005-03-22 09:02:33.000000000 +0100 +++ openct-0.6.6/etc/init-script.in 2006-07-13 14:22:47.000000000 +0200 @@ -12,6 +12,13 @@ case "$1" in start) + if ! test -d /var/run/openct + then + mkdir /var/run/openct + chgrp scard /var/run/openct + chmod 0750 /var/run/openct + fi + echo -n "Starting $DESC: $NAME" $DAEMON init echo "." diff -udrNP openct-0.6.6.debian/src/ct/socket.c openct-0.6.6/src/ct/socket.c --- openct-0.6.6.debian/src/ct/socket.c 2005-05-29 19:59:00.000000000 +0200 +++ openct-0.6.6/src/ct/socket.c 2006-07-13 14:24:27.000000000 +0200 @@ -530,7 +530,10 @@ return IFD_ERROR_TIMEOUT; } +retry: n = read(sock->fd, ct_buf_tail(bp), count); + if (n < 0 && errno == EINTR) + goto retry; if (n < 0) { ct_error("socket recv error: %m"); return -1;