Re: Registering for multiple SIGIO within a process

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/28/05, Bhattacharjee, Satadal <[email protected]> wrote:
[...]
> Each shared object has function within it to register with kernel to receive
> SIGIO when an event is generated by the HBA. Driver received the event from
> the HBA and sends SIGIO to the kernel.
[...]
> When driver generates a signal, the shared object which registered last,
> receives the signal. The first registration never receives any signal.
[...]
> So can somebody suggest what is the correct mechanism to register with the
> kernel for receiving multiple signals from a single process?

(Sheesh, what is it with people thinking signals are something to be
used in any design after the 1970's?)

You're out of luck. Either register a sigio handler as a dispatcher in
your loader (shell) process before either of the two shared objects
do, and then somehow echo the signal to the correct object by hand
(assuming you can determine which HBA raised the signal -- and no idea
how'd you do this, actually), or fork() the main shell process into at
least one other one to allow receiving of the signals separately. I'd
suggest fork()ing twice, once per HBA, as that'd probably end up
simpler code-wise.

Ray
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux