Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Aug 1998 03:12:02 +0930 (CST)
From:      Mark Newton <newton@atdot.dotat.org>
To:        freebsd-svr4@atdot.dotat.org
Cc:        freebsd-hackers@FreeBSD.ORG, mike@smith.net.au
Subject:   X11 clients seem to work -- But...
Message-ID:  <199808261742.DAA08675@atdot.dotat.org>

next in thread | raw e-mail | index | archive | help

I announced the availability of an ALPHA-quality SVR4 emulator for
FreeBSD yesterday.  I've done more work on it this evening and managed
to get X clients to work -- Kind of.

Diligent readers will recall that emulated X clients were failing because
a read() on the connection to the X server was returning EAGAIN for no
apparent reason.  Well, I've written all kinds of debug writes into the
emulated SysVR4 read() system call, and I've discovered that this is
because the socket underlying the connection to the X server is marked
with the SS_NBIO (non-blocking I/O) flag.

I have no idea why, though.  As far as I can tell, the emulated executables
aren't doing anything that sets that flag.  Also, emulated executables
which (a) use networking, and (b) aren't X clients don't have that flag 
bit set -- It's something specific to the set of streams ioctl() operations
that X clients are doing.

I can get X clients to work by indulging in a grotty hack:  If SS_NBIO
is set when a read() call is made, unset it :-)  That's hardly a workable
solution, though.

I'll make an updated snapshot of my development tree (with the above hack
included - ugh) at ftp://slash.dotat.org/pub/freebsd-svr4/svr4.tar.gz.
if anyone is interested and wants to see if they can nut it out, please
be my guest.

   - mark
     [ off to compile a kernel which prints warnings when the ioctl which
       sets SS_NBIO is used... ]

--------------------------------------------------------------------
I tried an internal modem,                    newton@atdot.dotat.org
     but it hurt when I walked.                          Mark Newton
----- Voice: +61-4-1958-3414 ------------- Fax: +61-8-83034403 -----

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808261742.DAA08675>