Here is a fix I found on a swedish unix newsgroup:
compile the following code with
gcc -shared rvpreload.c -o libnblock.so
and put it in your realplayer directory
============ rvpreload.c ==============================
#include <string.h>
#include <unistd.h>
#include <fcntlbits.h>
extern int __open(const char *pathname, int flags, mode_t mode);
extern int fcntl(int fd, int cmd, long arg);
int open(const char *pathname, int flags, mode_t mode)
{
int res, rstnblk = flags & O_NONBLOCK && !strcmp(pathname, "/dev/dsp");
res = __open(pathname, flags, mode);
if (res == -1 || !rstnblk)
return res;
fcntl(res, F_SETFL, fcntl(res, F_GETFL, 0) & ~O_NONBLOCK);
return res;
}
=======================================================
then move the realplayer executable in your realplayer
directory to rvplayer.real and put the following script
in the same library and name it rvplayer (don't forget
to chmod +x it):
============ rvplayer start script ====================
#!/bin/sh
LD_PRELOAD=/usr/local/rvplayer5.0/libnblock.so
export LD_PRELOAD
exec /usr/local/rvplayer.real $*
=======================================================
this works well for me. (2.1.123-125)
HTH
-- ------------------------------------------------------------------ + Peter Granroth + Microsoft is NOT the answer + + mailto:devnull@granroth.ml.org + Microsoft is the question + + http://granroth.ml.org + The answer is NO + ------------------------------------------------------------------- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/