Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Jan 2013 17:27:50 -0800
From:      Richard Sharpe <rsharpe@richardsharpe.com>
To:        freebsd-hackers@freebsd.org
Subject:   Is it possible to block pending queued RealTime signals (AIO originating)?
Message-ID:  <1357608470.6752.22.camel@localhost.localdomain>

next in thread | raw e-mail | index | archive | help
Hi folks,

I am running into a problem with AIO in Samba 3.6.x under FreeBSD 8.0
and I want to check if the assumptions made by the original coder are
correct.

Essentially, the code queues a number of AIO requests (up to 100) and
specifies an RT signal to be sent upon completion with siginfo_t.

These are placed into an array.

The code assumes that when handling one of these signals, if it has
already received N such siginfo_t structures, it can BLOCK further
instances of the signal while these structures are drained by the main
code in Samba.

However, my debugging suggests that if a bunch of signals have already
been queued, you cannot block those undelivered but already queued
signals.

I am certain that they are all being delivered to the main thread and
that they keep coming despite the code trying to stop them at 64 (they
get all the way up to the 100 that were queued.)

Can someone confirm whether I have this correct or not?




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