summaryrefslogtreecommitdiff
path: root/audio/bmpx/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'audio/bmpx/patches/patch-ab')
-rw-r--r--audio/bmpx/patches/patch-ab31
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;