public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* F_SETSIG broken/changed in 2.6 for UDP and TCP sockets?
@ 2004-05-31 18:45 Russell Leighton
  2004-06-02 11:09 ` Mike Jagdis
  0 siblings, 1 reply; 2+ messages in thread
From: Russell Leighton @ 2004-05-31 18:45 UTC (permalink / raw)
  To: linux-kernel


I have a program that works fine under stock rh9 (2.4.2-8) but has 
issues getting signaled under FedoraCore2 (2.6.5-1.358)
using SETSIG to a Posix RT signal.

The program does the standard:

  /* hook to process */
  if ( fcntl(fdcallback->fd, F_SETOWN, mon->handler_q.thread->pid) == -1 ) {
    aw_log(fdcallback->handler->logger, AW_ERROR_LOG_LEVEL,
       "cannot set owner on fd (%s)",
       strerror(errno));
  }/* end if */

  /* make async */
  if ( fcntl(fdcallback->fd, F_SETFL, (O_NONBLOCK | O_ASYNC) ) == -1 ) {
    aw_log(fdcallback->handler->logger, AW_ERROR_LOG_LEVEL,
       "cannot set async on fd (%s)",
       strerror(errno));
  }/* end if */

  /* hook to signal */
  if ( fcntl(fdcallback->fd, F_SETSIG, AW_SIG_FD) == -1 ) {
    aw_log(fdcallback->handler->logger, AW_ERROR_LOG_LEVEL,
       "cannot set signal on fd (%s)",
       strerror(errno));
  }/* end if */

Under Fedora things work well for raw sockets (much lower latency than 
in 2.4!) but are inconsistent with udp or tcp sockets.

In the udp case, I when I listen for multicast packets my app only 
receives them when I am running a tcpdump (bizarre!).

In the tcp case, I don't get signaled if I do the F_SETSIG on more than 
1 fd.

Any tips on tracking this down would be much appreciated.

Thx

Russ


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: F_SETSIG broken/changed in 2.6 for UDP and TCP sockets?
  2004-05-31 18:45 F_SETSIG broken/changed in 2.6 for UDP and TCP sockets? Russell Leighton
@ 2004-06-02 11:09 ` Mike Jagdis
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Jagdis @ 2004-06-02 11:09 UTC (permalink / raw)
  To: Russell Leighton; +Cc: linux-kernel

On Mon, May 31, 2004 at 02:45:08PM -0400, Russell Leighton wrote:
> In the udp case, I when I listen for multicast packets my app only 
> receives them when I am running a tcpdump (bizarre!).

That bit at least isn't so surprising - tcpdump is probably
setting the interface to promiscuous mode which lets you
receive everything. What does groups does "netstat -gn"
say you are subscribed to, though?

Mike

-- 
Mike Jagdis                        Web: http://www.eris-associates.co.uk
Eris Associates Limited            Tel: +44 7780 608 368
Reading, England                   Fax: +44 118 926 6974

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-06-02 11:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-31 18:45 F_SETSIG broken/changed in 2.6 for UDP and TCP sockets? Russell Leighton
2004-06-02 11:09 ` Mike Jagdis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox