Re: [PATCH/RFC] signal: Export signal_wake_up_state() to modules

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

 



On 05/05, Geert Uytterhoeven wrote:
>
> I'm using signal_wake_up() to abort a task blocked on
> wait_for_completion_interruptible(), cfr. sh_msiof_slave_abort() in
> "spi: sh-msiof: Add slave mode support"
> (http://www.spinics.net/lists/devicetree/msg175575.html).
>
> Is exporting signal_wake_up_state() an acceptable solution?
> Alternatively, I can extract the code to abort an completion into a
> generic abort_completion() function, and export that.

I too do not think this is a good idea... signal_wake_up() or even
set_tsk_thread_flag() should never be used unless you actually send a
signal. Yes, freeze_task() does this too but note that recalc_sigpending()
checks freezing() and in this case we really want the target to enter the
get_signal() path.

And in fact I do not really understand why do you need it, it seems that
you can easily rework this code and avoid this hack.

Not to mention that sh_msiof_slave_abort() plays with struct completion
internals, this doesn't look good too.

Finally, clear_thread_flag(TIF_SIGPENDING) in sh_msiof_wait_for_completion()
looks wrong. Or it is only for kthreads?

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux