Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2019 20:33:55 +0000 (UTC)
From:      "Jason A. Harmening" <jah@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r343005 - head/sys/kern
Message-ID:  <201901132033.x0DKXtin020499@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jah
Date: Sun Jan 13 20:33:54 2019
New Revision: 343005
URL: https://svnweb.freebsd.org/changeset/base/343005

Log:
  Handle SIGIO for listening sockets
  
  r319722 separated struct socket and parts of the socket I/O path into
  listening-socket-specific and dataflow-socket-specific pieces.  Listening
  socket connection notifications are now handled by solisten_wakeup() instead
  of sowakeup(), but solisten_wakeup() does not currently post SIGIO to the
  owning process.
  
  PR:	234258
  Reported by:	Kenneth Adelman
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D18664

Modified:
  head/sys/kern/uipc_socket.c

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c	Sun Jan 13 19:49:46 2019	(r343004)
+++ head/sys/kern/uipc_socket.c	Sun Jan 13 20:33:54 2019	(r343005)
@@ -886,6 +886,8 @@ solisten_wakeup(struct socket *sol)
 	}
 	SOLISTEN_UNLOCK(sol);
 	wakeup_one(&sol->sol_comp);
+	if ((sol->so_state & SS_ASYNC) && sol->so_sigio != NULL)
+		pgsigio(&sol->so_sigio, SIGIO, 0);
 }
 
 /*



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