Index: head/audio/jack/Makefile =================================================================== --- head/audio/jack/Makefile (revision 389639) +++ head/audio/jack/Makefile (revision 389640) @@ -1,79 +1,79 @@ # Created by: Tilman Linneweh # $FreeBSD$ PORTNAME= jackit PORTVERSION= 0.124.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= audio MASTER_SITES= http://jackaudio.org/downloads/ DISTNAME= jack-audio-connection-kit-${PORTVERSION} MAINTAINER= multimedia@FreeBSD.org COMMENT= Low latency audio server LICENSE= GPLv2 LGPL21 LICENSE_COMB= multi LIB_DEPENDS= libsndfile.so:${PORTSDIR}/audio/libsndfile \ libsamplerate.so:${PORTSDIR}/audio/libsamplerate \ libcelt0.so:${PORTSDIR}/audio/celt \ libuuid.so:${PORTSDIR}/misc/e2fsprogs-libuuid GNU_CONFIGURE= yes USE_LDCONFIG= yes USES= gmake pathfix pkgconfig libtool:keepla USE_BDB= 48+ CONFIGURE_ARGS= --disable-portaudio \ --with-default-tmpdir=/tmp CFLAGS+= -I${BDB_INCLUDE_DIR} CPPFLAGS+= -I${LOCALBASE}/include LIBS+= -L${LOCALBASE}/lib -L${BDB_LIB_DIR} INSTALL_TARGET= install-strip LATEST_LINK= jack OPTIONS_DEFINE= ALSA DOXYGEN READLINE OPTIONS_DEFAULT=READLINE OPTIONS_SUB= yes ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib ALSA_CONFIGURE_ENABLE= alsa READLINE_LIB_DEPENDS= libreadline.so:${PORTSDIR}/devel/readline .include .if ${PORT_OPTIONS:MDOXYGEN} BUILD_DEPENDS= doxygen:${PORTSDIR}/devel/doxygen .else CONFIGURE_ENV+= ac_cv_prog_HAVE_DOXYGEN="false" .endif .if ! ${PORT_OPTIONS:MREADLINE} CONFIGURE_ENV+= ac_cv_lib_readline_readline=no \ ac_cv_header_readline_chardefs_h=no .endif post-patch: @${REINPLACE_CMD} -e 's|define USE_MLOCK|undef USE_MLOCK|' \ -e 's|alloca.h||' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e "s,-lpthread,-pthread," \ ${WRKSRC}/configure ${WRKSRC}/libjack/Makefile.in \ ${WRKSRC}/jackd/Makefile.in \ ${WRKSRC}/example-clients/Makefile.in ${WRKSRC}/jack.pc.in @${REINPLACE_CMD} -e "s,-lrt,," ${WRKSRC}/libjack/Makefile.in \ ${WRKSRC}/jackd/Makefile.in \ ${WRKSRC}/example-clients/Makefile.in @${REINPLACE_CMD} -e "s,-ldl,," ${WRKSRC}/jackd/Makefile.in \ ${WRKSRC}/example-clients/Makefile.in @${REINPLACE_CMD} -e 's|md5sum|md5 -q|g' \ ${WRKSRC}/jackd/Makefile.in @${RM} -f ${WRKSRC}/doc/reference/html/* post-build: @${RM} -f ${WRKSRC}/doc/reference/html/dir__2F* .include Index: head/audio/jack/files/patch-drivers-alsa_memops.c =================================================================== --- head/audio/jack/files/patch-drivers-alsa_memops.c (revision 389639) +++ head/audio/jack/files/patch-drivers-alsa_memops.c (nonexistent) @@ -1,11 +0,0 @@ ---- drivers/alsa/memops.c.orig 2010-05-08 20:23:13.000000000 -0300 -+++ drivers/alsa/memops.c 2010-05-08 20:23:24.000000000 -0300 -@@ -30,7 +30,7 @@ - #include - #include - #include --#include -+#include - - #include - Property changes on: head/audio/jack/files/patch-drivers-alsa_memops.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/audio/jack/files/patch-configure =================================================================== --- head/audio/jack/files/patch-configure (revision 389639) +++ head/audio/jack/files/patch-configure (revision 389640) @@ -1,51 +1,53 @@ ---- configure 2014-01-22 15:23:47.000000000 -0500 -+++ configure 2014-11-30 13:05:39.000000000 -0500 -@@ -2608,48 +2608,4 @@ +--- configure.orig 2014-01-22 20:23:47 UTC ++++ configure +@@ -2607,50 +2607,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLA + ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking existing, conflicting JACK installs" >&5 -$as_echo_n "checking existing, conflicting JACK installs... " >&6; } -not_overwriting=0 -installs= -for dir in /usr/lib /usr/local/lib /opt/lib ; do - if test -d $dir ; then - if test $(find $dir/ -name 'libjack.so.*' 2>/dev/null | wc -l) -gt 0 ; then - if echo $prefix/lib | grep -vs $dir >/dev/null 2>&1 ; then - not_overwriting=$(expr $not_overwriting + 1) - fi - installs="$installs $dir" - fi - fi -done - -if test $not_overwriting -gt 0 ; then - echo - echo - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "You appear to have at least one existing installation of JACK." - echo - echo "Complete or partial JACK installs exist in:$installs" - echo - echo "Installing this version will leave at least one of these" - echo "existing installations installed and this will probably break" - echo "JACK on your machine. " - echo - echo "Before building, you should first remove the existing JACK" - echo "installation(s). " - echo - echo "Alternatively use ./configure --prefix=... to force overwriting" - echo "the existing install." - echo - echo "WARNING: ON ANY DEBIAN-DERIVED DISTRIBUTION (Debian, Ubuntu etc)" - echo "CHANGING THE INSTALLATION PREFIX WILL NOT PRODUCE A WORKING JACK" - echo "INSTALL. Please contact the distribution packager for JACK and" - echo "ask them to fix their packaging." - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - exit 1 -fi - ac_aux_dir= for ac_dir in config "$srcdir"/config; do + for ac_t in install-sh install.sh shtool; do Index: head/audio/jack/files/patch-drivers-dummy-dummy_driver.c =================================================================== --- head/audio/jack/files/patch-drivers-dummy-dummy_driver.c (revision 389639) +++ head/audio/jack/files/patch-drivers-dummy-dummy_driver.c (revision 389640) @@ -1,11 +1,11 @@ ---- drivers/dummy/dummy_driver.c.orig 2009-02-12 04:44:04.000000000 +0100 -+++ drivers/dummy/dummy_driver.c 2009-02-12 04:44:15.000000000 +0100 -@@ -73,7 +73,7 @@ +--- drivers/dummy/dummy_driver.c.orig 2013-10-04 00:45:25 UTC ++++ drivers/dummy/dummy_driver.c +@@ -73,7 +73,7 @@ FakeVideoSync( dummy_driver_t *driver ) } } -#ifdef HAVE_CLOCK_GETTIME +#if HAVE_CLOCK_GETTIME static inline unsigned long long ts_to_nsec(struct timespec ts) { return ts.tv_sec * 1000000000LL + ts.tv_nsec; Index: head/audio/jack/files/patch-drivers-dummy-dummy_driver.h =================================================================== --- head/audio/jack/files/patch-drivers-dummy-dummy_driver.h (revision 389639) +++ head/audio/jack/files/patch-drivers-dummy-dummy_driver.h (revision 389640) @@ -1,11 +1,11 @@ ---- drivers/dummy/dummy_driver.h.orig 2009-02-12 05:04:38.000000000 +0100 -+++ drivers/dummy/dummy_driver.h 2009-02-12 05:04:44.000000000 +0100 -@@ -44,7 +44,7 @@ +--- drivers/dummy/dummy_driver.h.orig 2013-10-04 00:45:25 UTC ++++ drivers/dummy/dummy_driver.h +@@ -44,7 +44,7 @@ struct _dummy_driver jack_nframes_t period_size; unsigned long wait_time; -#ifdef HAVE_CLOCK_GETTIME +#if HAVE_CLOCK_GETTIME struct timespec next_wakeup; #else jack_time_t next_time; Index: head/audio/jack/files/patch-drivers-oss-oss_driver.c =================================================================== --- head/audio/jack/files/patch-drivers-oss-oss_driver.c (revision 389639) +++ head/audio/jack/files/patch-drivers-oss-oss_driver.c (revision 389640) @@ -1,43 +1,207 @@ ---- drivers/oss/oss_driver.c.orig +--- drivers/oss/oss_driver.c.orig 2013-10-04 00:45:25 UTC +++ drivers/oss/oss_driver.c @@ -23,6 +23,7 @@ #include +#define __BSD_VISIBLE 1 #ifdef USE_BARRIER /* * POSIX conformance level should be globally defined somewhere, possibly -@@ -181,7 +182,9 @@ static void set_period_size (oss_driver_ +@@ -183,7 +184,9 @@ static void set_period_size (oss_driver_ ((double) driver->period_size / (double) driver->sample_rate) * 1e6; driver->last_wait_ust = 0; - driver->last_periodtime = driver->engine->get_microseconds(); + driver->last_periodtime = driver->engine ? + driver->engine->get_microseconds() : + jack_get_microseconds(); driver->next_periodtime = 0; driver->iodelay = 0.0F; } -@@ -189,7 +192,9 @@ static void set_period_size (oss_driver_ +@@ -191,7 +194,9 @@ static void set_period_size (oss_driver_ static inline void update_times (oss_driver_t *driver) { - driver->last_periodtime = driver->engine->get_microseconds(); + driver->last_periodtime = driver->engine ? + driver->engine->get_microseconds() : + jack_get_microseconds(); if (driver->next_periodtime > 0) { driver->iodelay = (float) -@@ -759,7 +764,9 @@ static int oss_driver_start (oss_driver_ +@@ -224,6 +229,7 @@ static void copy_and_convert_in (jack_sa + int dstidx; + signed short *s16src = (signed short *) src; + signed int *s32src = (signed int *) src; ++ unsigned char *s24src = (unsigned char *) src; + double *f64src = (double *) src; + jack_sample_t scale; + +@@ -240,11 +246,14 @@ static void copy_and_convert_in (jack_sa + } + break; + case 24: +- scale = 1.0f / 0x7fffff; ++ scale = 1.0f / 0x7fffffff; + for (dstidx = 0; dstidx < nframes; dstidx++) + { + dst[dstidx] = (jack_sample_t) +- s32src[srcidx] * scale; ++ ((signed int)( ++ (s24src[3 * srcidx + 2] << 24) | ++ (s24src[3 * srcidx + 1] << 16) | ++ (s24src[3 * srcidx + 0] << 8))) * scale; + srcidx += chcount; + } + break; +@@ -274,6 +283,7 @@ static void copy_and_convert_out (void * + int srcidx; + int dstidx; + signed short *s16dst = (signed short *) dst; ++ unsigned char *s24dst = (unsigned char *) dst; + signed int *s32dst = (signed int *) dst; + double *f64dst = (double *) dst; + jack_sample_t scale; +@@ -293,13 +303,17 @@ static void copy_and_convert_out (void * + } + break; + case 24: +- scale = 0x7fffff; ++ scale = 0x7fffffff; + for (srcidx = 0; srcidx < nframes; srcidx++) + { +- s32dst[dstidx] = (signed int) +- (src[srcidx] >= 0.0f) ? +- (src[srcidx] * scale + 0.5f) : +- (src[srcidx] * scale - 0.5f); ++ signed int sample = ++ (src[srcidx] >= 0.0f) ? ++ (src[srcidx] * scale + 0.5f) : ++ (src[srcidx] * scale - 0.5f) ; ++ ++ s24dst[3*dstidx + 2] = sample >> 24; ++ s24dst[3*dstidx + 1] = sample >> 16; ++ s24dst[3*dstidx + 0] = sample >> 8; + dstidx += chcount; + } + break; +@@ -471,20 +485,7 @@ static int oss_driver_start (oss_driver_ + const char *indev = driver->indev; + const char *outdev = driver->outdev; + +- switch (driver->bits) +- { +- case 24: +- case 32: +- samplesize = sizeof(int); +- break; +- case 64: +- samplesize = sizeof(double); +- break; +- case 16: +- default: +- samplesize = sizeof(short); +- break; +- } ++ samplesize = driver->bits / 8; + driver->trigger = 0; + if (strcmp(indev, outdev) != 0) + { +@@ -762,7 +763,9 @@ static int oss_driver_start (oss_driver_ if (driver->threads & 1) sem_post(&driver->sem_start); if (driver->threads & 2) sem_post(&driver->sem_start); - driver->last_periodtime = driver->engine->get_microseconds(); + driver->last_periodtime = driver->engine ? + driver->engine->get_microseconds() : + jack_get_microseconds(); driver->next_periodtime = 0; driver->iodelay = 0.0F; +@@ -1235,7 +1238,24 @@ jack_driver_t * driver_initialize (jack_ + } + pnode = jack_slist_next(pnode); + } +- ++ ++ switch (bits) ++ { ++ case 16: /* native-endian 16-bit integer */ ++ driver->format = AFMT_S16_NE; ++ break; ++ case 24: /* little-endian 24-bit integer */ ++ driver->format = AFMT_S24_LE; ++ break; ++ case 32: /* native-endian 32-bit integer */ ++ driver->format = AFMT_S32_NE; ++ break; ++ default: ++ free(driver); ++ jack_error("OSS: invalid number of bits: %d", ++ __FILE__, __LINE__, bits); ++ return NULL; ++ } + driver->sample_rate = sample_rate; + driver->period_size = period_size; + driver->nperiods = nperiods; +@@ -1254,59 +1274,6 @@ jack_driver_t * driver_initialize (jack_ + driver->outdev = strdup(OSS_DRIVER_DEF_DEV); + driver->infd = -1; + driver->outfd = -1; +- switch (driver->bits) +- { +-# ifndef OSS_ENDIAN +-# ifdef __GNUC__ +-# if (defined(__i386__) || defined(__alpha__) || defined(__arm__) || defined(__x86_64__) || (defined(__sh__) && !defined(__LITTLE_ENDIAN__))) +-# define OSS_LITTLE_ENDIAN 1234 +-# define OSS_ENDIAN OSS_LITTLE_ENDIAN +-# else +-# define OSS_BIG_ENDIAN 4321 +-# define OSS_ENDIAN OSS_BIG_ENDIAN +-# endif +-# else /* __GNUC__ */ +-# if (defined(_AIX) || defined(AIX) || defined(sparc) || defined(__hppa) || defined(PPC) || defined(__powerpc__) && !defined(i386) && !defined(__i386) && !defined(__i386__)) +-# define OSS_BIG_ENDIAN 4321 +-# define OSS_ENDIAN OSS_BIG_ENDIAN +-# else +-# define OSS_LITTLE_ENDIAN 1234 +-# define OSS_ENDIAN OSS_LITTLE_ENDIAN +-# endif +-# endif /* __GNUC__ */ +-# endif /* OSS_ENDIAN */ +-# if (OSS_ENDIAN == 1234) +- /* little-endian architectures */ +- case 24: /* little-endian LSB aligned 24-bits in 32-bits integer */ +- driver->format = 0x00008000; +- break; +- case 32: /* little-endian 32-bit integer */ +- driver->format = 0x00001000; +- break; +- case 64: /* native-endian 64-bit float */ +- driver->format = 0x00004000; +- break; +- case 16: /* little-endian 16-bit integer */ +- default: +- driver->format = 0x00000010; +- break; +- /* big-endian architectures */ +-# else +- case 24: /* big-endian LSB aligned 24-bits in 32-bits integer */ +- break; +- driver->format = 0x00010000; +- case 32: /* big-endian 32-bit integer */ +- driver->format = 0x00002000; +- break; +- case 64: /* native-endian 64-bit float */ +- driver->format = 0x00004000; +- break; +- case 16: /* big-endian 16-bit integer */ +- default: +- driver->format = 0x00000020; +-# endif +- } +- + driver->indevbuf = driver->outdevbuf = NULL; + + driver->capture_ports = NULL; Index: head/audio/jack/files/patch-drivers_alsa_memops.c =================================================================== --- head/audio/jack/files/patch-drivers_alsa_memops.c (nonexistent) +++ head/audio/jack/files/patch-drivers_alsa_memops.c (revision 389640) @@ -0,0 +1,11 @@ +--- drivers/alsa/memops.c.orig 2013-10-04 00:45:25 UTC ++++ drivers/alsa/memops.c +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include ++#include + + #include "memops.h" + Property changes on: head/audio/jack/files/patch-drivers_alsa_memops.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/audio/jack/files/patch-jack.pc.in =================================================================== --- head/audio/jack/files/patch-jack.pc.in (revision 389639) +++ head/audio/jack/files/patch-jack.pc.in (revision 389640) @@ -1,9 +1,9 @@ ---- jack.pc.in.orig Thu Jun 5 03:21:36 2003 -+++ jack.pc.in Sun Mar 14 22:49:44 2004 -@@ -6,5 +6,5 @@ +--- jack.pc.in.orig 2013-10-04 00:45:25 UTC ++++ jack.pc.in +@@ -6,5 +6,5 @@ includedir=@includedir@ Name: jack Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server Version: @JACK_VERSION@ --Libs: -L${libdir} -ljack -lpthread -ldl -lrt +-Libs: -L${libdir} -ljack -lpthread @OS_LDFLAGS@ +Libs: -L${libdir} -ljack -lpthread Cflags: -I${includedir} Index: head/audio/jack/files/patch-jackd_engine.c =================================================================== --- head/audio/jack/files/patch-jackd_engine.c (revision 389639) +++ head/audio/jack/files/patch-jackd_engine.c (revision 389640) @@ -1,20 +1,20 @@ ---- jackd/engine.c.orig 2008-12-02 17:29:23.000000000 +0100 -+++ jackd/engine.c 2009-02-11 20:38:52.000000000 +0100 -@@ -1383,7 +1383,7 @@ +--- jackd/engine.c.orig 2013-11-30 17:04:00 UTC ++++ jackd/engine.c +@@ -1415,7 +1415,7 @@ handle_external_client_request (jack_eng if ((r = read (client->request_fd, &req, sizeof (req))) < (ssize_t) sizeof (req)) { if (r == 0) { -#ifdef JACK_USE_MACH_THREADS +#ifndef __linux /* poll is implemented using select (see the macosx/fakepoll code). When the socket is closed -@@ -1396,7 +1396,7 @@ +@@ -1428,7 +1428,7 @@ handle_external_client_request (jack_eng and remove the client. */ jack_mark_client_socket_error (engine, fd); -#endif /* JACK_USE_MACH_THREADS */ +#endif /* !__linux */ return 1; } else { jack_error ("cannot read request from client (%d/%d/%s)", Index: head/audio/jack/files/patch-libjack-client.c =================================================================== --- head/audio/jack/files/patch-libjack-client.c (revision 389639) +++ head/audio/jack/files/patch-libjack-client.c (revision 389640) @@ -1,189 +1,189 @@ ---- libjack/client.c.orig 2014-10-23 09:09:09.000000000 +0200 -+++ libjack/client.c 2014-10-23 09:20:15.000000000 +0200 -@@ -116,6 +116,30 @@ +--- libjack/client.c.orig 2014-01-21 22:48:10 UTC ++++ libjack/client.c +@@ -116,6 +116,30 @@ init_cpu () char *jack_tmpdir = DEFAULT_TMP_DIR; +/* + * The following read/write wrappers handle the case of interruption + * by system signals: + */ +static int +read_retry(int fd, void *dst, int size) +{ + int error; + do { + error = read(fd, dst, size); + } while (error == -1 && errno == EINTR); + return (error); +} + +static int +write_retry(int fd, const void *src, int size) +{ + int error; + do { + error = write(fd, src, size); + } while (error == -1 && errno == EINTR); + return (error); +} + static int jack_get_tmpdir () { -@@ -248,7 +272,7 @@ +@@ -248,7 +272,7 @@ oop_client_deliver_request (void *ptr, j int wok, rok; jack_client_t *client = (jack_client_t*) ptr; - wok = (write (client->request_fd, req, sizeof (*req)) + wok = (write_retry (client->request_fd, req, sizeof (*req)) == sizeof (*req)); /* if necessary, add variable length key data after a PropertyChange request -@@ -256,7 +280,7 @@ +@@ -256,7 +280,7 @@ oop_client_deliver_request (void *ptr, j if (req->type == PropertyChangeNotify) { if (req->x.property.keylen) { - if (write (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { + if (write_retry (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { jack_error ("cannot send property key of length %d to server", req->x.property.keylen); req->status = -1; -@@ -265,7 +289,7 @@ +@@ -265,7 +289,7 @@ oop_client_deliver_request (void *ptr, j } } - rok = (read (client->request_fd, req, sizeof (*req)) + rok = (read_retry (client->request_fd, req, sizeof (*req)) == sizeof (*req)); if (wok && rok) { /* everything OK? */ -@@ -822,14 +846,14 @@ +@@ -822,14 +846,14 @@ server_event_connect (jack_client_t *cli jack_uuid_copy (&req.client_id, client->control->uuid); - if (write (fd, &req, sizeof (req)) != sizeof (req)) { + if (write_retry (fd, &req, sizeof (req)) != sizeof (req)) { jack_error ("cannot write event connect request to server (%s)", strerror (errno)); close (fd); return -1; } - if (read (fd, &res, sizeof (res)) != sizeof (res)) { + if (read_retry (fd, &res, sizeof (res)) != sizeof (res)) { jack_error ("cannot read event connect result from server (%s)", strerror (errno)); close (fd); -@@ -1070,14 +1094,14 @@ +@@ -1070,14 +1094,14 @@ jack_request_client (ClientType type, snprintf (req.object_data, sizeof (req.object_data), "%s", va->load_init); - if (write (*req_fd, &req, sizeof (req)) != sizeof (req)) { + if (write_retry (*req_fd, &req, sizeof (req)) != sizeof (req)) { jack_error ("cannot send request to jack server (%s)", strerror (errno)); *status |= (JackFailure|JackServerError); goto fail; } - if (read (*req_fd, res, sizeof (*res)) != sizeof (*res)) { + if (read_retry (*req_fd, res, sizeof (*res)) != sizeof (*res)) { if (errno == 0) { /* server shut the socket */ -@@ -1456,7 +1480,7 @@ +@@ -1456,7 +1480,7 @@ jack_internal_client_close (const char * return; } - if (write (fd, &req, sizeof (req)) != sizeof(req)) { + if (write_retry (fd, &req, sizeof (req)) != sizeof(req)) { jack_error ("cannot deliver ClientUnload request to JACK " "server."); } -@@ -1582,7 +1606,7 @@ +@@ -1582,7 +1606,7 @@ jack_session_notify (jack_client_t* clie request.x.session.type = code; - if( (write (client->request_fd, &request, sizeof (request)) + if( (write_retry (client->request_fd, &request, sizeof (request)) != sizeof (request)) ) { jack_error ("cannot send request type %d to server", request.type); -@@ -1592,7 +1616,7 @@ +@@ -1592,7 +1616,7 @@ jack_session_notify (jack_client_t* clie while( 1 ) { jack_uuid_t uid; - if (read (client->request_fd, &uid, sizeof (uid)) != sizeof (uid)) { + if (read_retry (client->request_fd, &uid, sizeof (uid)) != sizeof (uid)) { jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); goto out; -@@ -1613,19 +1637,19 @@ +@@ -1613,19 +1637,19 @@ jack_session_notify (jack_client_t* clie break; } - if (read (client->request_fd, (char *)retval[num_replies-1].client_name, JACK_CLIENT_NAME_SIZE) + if (read_retry (client->request_fd, (char *)retval[num_replies-1].client_name, JACK_CLIENT_NAME_SIZE) != JACK_CLIENT_NAME_SIZE) { jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); goto out; } - if (read (client->request_fd, (char *)retval[num_replies-1].command, JACK_PORT_NAME_SIZE) + if (read_retry (client->request_fd, (char *)retval[num_replies-1].command, JACK_PORT_NAME_SIZE) != JACK_PORT_NAME_SIZE) { jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); goto out; } - if (read (client->request_fd, & retval[num_replies-1].flags, sizeof(retval[num_replies-1].flags) ) + if (read_retry (client->request_fd, & retval[num_replies-1].flags, sizeof(retval[num_replies-1].flags) ) != sizeof(retval[num_replies-1].flags) ) { jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); -@@ -1742,7 +1766,7 @@ +@@ -1742,7 +1766,7 @@ jack_client_process_events (jack_client_ /* server has sent us an event. process the * event and reply */ - if (read (client->event_fd, &event, sizeof (event)) + if (read_retry (client->event_fd, &event, sizeof (event)) != sizeof (event)) { jack_error ("cannot read server event (%s)", strerror (errno)); -@@ -1751,7 +1775,7 @@ +@@ -1751,7 +1775,7 @@ jack_client_process_events (jack_client_ if (event.type == PropertyChange) { key = (char *) malloc (event.y.key_size); - if (read (client->event_fd, key, event.y.key_size) != + if (read_retry (client->event_fd, key, event.y.key_size) != event.y.key_size) { jack_error ("cannot read property change key (%s)", strerror (errno)); -@@ -1868,7 +1892,7 @@ +@@ -1868,7 +1892,7 @@ jack_client_process_events (jack_client_ DEBUG ("client has dealt with the event, writing " "response on event fd"); - if (write (client->event_fd, &status, sizeof (status)) + if (write_retry (client->event_fd, &status, sizeof (status)) != sizeof (status)) { jack_error ("cannot send event response to " "engine (%s)", strerror (errno)); -@@ -1888,7 +1912,7 @@ +@@ -1888,7 +1912,7 @@ jack_wake_next_client (jack_client_t* cl int pret = 0; char c = 0; - if (write (client->graph_next_fd, &c, sizeof (c)) + if (write_retry (client->graph_next_fd, &c, sizeof (c)) != sizeof (c)) { DEBUG("cannot write byte to fd %d", client->graph_next_fd); jack_error ("cannot continue execution of the " -@@ -1916,7 +1940,7 @@ +@@ -1916,7 +1940,7 @@ jack_wake_next_client (jack_client_t* cl } if (pret > 0 && (pfds[0].revents & POLLIN)) { - if (read (client->graph_wait_fd, &c, sizeof (c)) + if (read_retry (client->graph_wait_fd, &c, sizeof (c)) != sizeof (c)) { jack_error ("cannot complete execution of the " "processing graph (%s)", strerror(errno));