Hi Antoine, xstatbar hangs on startup eating cycles with cmpci(4). I'm not sure if this is a fault of the driver or what is going on exactly.
Anyway, if devinfo.type != AUDIO_MIXER_CLASS is true, xstatbar will never make progress and loop forever. Fix it by trying the next device. This patch does not make the mixer appear on cmpci(4), but xstatbar works fine otherwise. Unrelated: ${HOMEPAGE} seems to be down, temporary? Index: Makefile =================================================================== RCS file: /home/vcs/cvs/openbsd/ports/sysutils/xstatbar/Makefile,v retrieving revision 1.8 diff -u -p -r1.8 Makefile --- Makefile 18 Jan 2011 19:04:22 -0000 1.8 +++ Makefile 1 Aug 2011 11:41:25 -0000 @@ -5,6 +5,7 @@ ONLY_FOR_ARCHS= ${APM_ARCHS} COMMENT= simple system monitor bar DISTNAME= xstatbar-0.5 +REVISION= 0 CATEGORIES= sysutils x11 Index: patches/patch-stats_c =================================================================== RCS file: patches/patch-stats_c diff -N patches/patch-stats_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-stats_c 1 Aug 2011 11:41:25 -0000 @@ -0,0 +1,15 @@ +$OpenBSD$ +--- stats.c.orig Mon Aug 1 09:48:58 2011 ++++ stats.c Mon Aug 1 09:50:09 2011 +@@ -101,8 +101,10 @@ volume_init() + devinfo.index = 0; + while (ioctl(volume.dev_fd, AUDIO_MIXER_DEVINFO, &devinfo) >= 0) { + +- if (devinfo.type != AUDIO_MIXER_CLASS) ++ if (devinfo.type != AUDIO_MIXER_CLASS) { ++ devinfo.index++; + continue; ++ } + + if (strncmp(devinfo.label.name, AudioCoutputs, MAX_AUDIO_DEV_LEN) == 0) + oclass_idx = devinfo.index;