Joshua N Pritikin <[EMAIL PROTECTED]> writes:
>----- Forwarded message from Robert Urban <[EMAIL PROTECTED]> -----
>
>To: [EMAIL PROTECTED]
>Subject: AF_UNIX sockets and Event.pm
>From: Robert Urban <[EMAIL PROTECTED]>
>
>
>Hello,
>
>I have written a simple script which uses Event->io on an UNIX socket.
>The script functions as desired.
>
>A (linix) "strace" shows that the system calls "ioctl" and "_llseek"
>are failing. (see below).
>
>Am I correct in presuming I can ignore these failures?
Yes.
PerlIO (or stdio come to that) trys an ioctl() to see if handle is a tty,
and trys a seek when doing buffer flush. They take appropriate action
on failure.
Note that PerlIO in perl5.8.0 had some problems on Win32 (not linux)
as Win32's llseek() claimed to succeed on sockets :-(
>
>cheers,
>
>Rob Urban
>
>===========================================================================
>
>[EMAIL PROTECTED] urban]$ strace -p 18432
>gettimeofday({1060185997, 393325}, NULL) = 0
>poll([{fd=3, events=POLLIN|POLLPRI, revents=POLLIN}], 1, 60000) = 1
>gettimeofday({1060186001, 326782}, NULL) = 0
>gettimeofday({1060186001, 327113}, NULL) = 0
>accept(3, {sin_family=AF_UNIX, path=""}, [2]) = 4
>ioctl(4, SNDCTL_TMR_TIMEBASE, 0xbffff390) = -1 EINVAL (Invalid argument)
>_llseek(4, 0, 0xbffff3d0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
>dup(4) = 5
>ioctl(5, SNDCTL_TMR_TIMEBASE, 0xbffff390) = -1 EINVAL (Invalid argument)
>_llseek(5, 0, 0xbffff3d0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
>fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
>fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
>read(4, "huhu\n", 4096) = 5
>close(5) = 0
>close(4) = 0
>write(1, "SOCKET: huhu\n", 13) = 13
>poll(