diff options
Diffstat (limited to 'audio/bmpx/patches/patch-ab')
-rw-r--r-- | audio/bmpx/patches/patch-ab | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/audio/bmpx/patches/patch-ab b/audio/bmpx/patches/patch-ab new file mode 100644 index 00000000000..ae902ee963d --- /dev/null +++ b/audio/bmpx/patches/patch-ab @@ -0,0 +1,31 @@ +$NetBSD: patch-ab,v 1.3 2007/08/30 15:30:31 joerg Exp $ + +--- jnetlib/connection.cpp.orig 2007-08-30 13:39:23.000000000 +0000 ++++ jnetlib/connection.cpp +@@ -205,8 +205,6 @@ void JNL_Connection::run(int max_send_by + FD_SET(m_socket,&f[1]); + FD_SET(m_socket,&f[2]); + +- struct timespec ts; +- memset(&ts,0,sizeof(ts)); + sigset_t sigs; + sigfillset (&sigs); + sigdelset (&sigs, SIGBUS); +@@ -215,7 +213,16 @@ void JNL_Connection::run(int max_send_by + sigdelset (&sigs, SIGSEGV); + sigdelset (&sigs, SIGKILL); + sigdelset (&sigs, SIGSTOP); +- if (pselect(m_socket+1,&f[0],&f[1],&f[2],&ts,&sigs)==-1) ++#ifdef __DragonFly__ ++ sigset_t cur_set; ++ sigprocmask(SIG_SETMASK, &sigs, &cur_set); ++ int select_retval = select(m_socket+1,&f[0],&f[1],&f[2],NULL); ++ sigprocmask(SIG_SETMASK, &cur_set, NULL); ++ ++ if (select_retval == -1) ++#else ++ if (pselect(m_socket+1,&f[0],&f[1],&f[2],NULL,&sigs)==-1) ++#endif + { + m_errorstr="connecting to host (calling select())"; + m_state=STATE_ERROR; |