[PATCH] sigio: cleanup, don't take tasklist twice

From: Oleg Nesterov
Date: Sun Nov 27 2005 - 11:54:42 EST


The only user of send_sigio_to_task() already holds tasklist_lock,
so it is better not to send the signal via send_group_sig_info()
(which takes tasklist recursively) but use group_send_sig_info().

The same change in send_sigurg()->send_sigurg_to_task().

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- 2.6.15-rc2/fs/fcntl.c~ 2005-09-17 18:57:28.000000000 +0400
+++ 2.6.15-rc2/fs/fcntl.c 2005-11-27 23:38:54.000000000 +0300
@@ -457,11 +457,11 @@ static void send_sigio_to_task(struct ta
else
si.si_band = band_table[reason - POLL_IN];
si.si_fd = fd;
- if (!send_group_sig_info(fown->signum, &si, p))
+ if (!group_send_sig_info(fown->signum, &si, p))
break;
/* fall-through: fall back on the old plain SIGIO signal */
case 0:
- send_group_sig_info(SIGIO, SEND_SIG_PRIV, p);
+ group_send_sig_info(SIGIO, SEND_SIG_PRIV, p);
}
}

@@ -495,7 +495,7 @@ static void send_sigurg_to_task(struct t
struct fown_struct *fown)
{
if (sigio_perm(p, fown, SIGURG))
- send_group_sig_info(SIGURG, SEND_SIG_PRIV, p);
+ group_send_sig_info(SIGURG, SEND_SIG_PRIV, p);
}

int send_sigurg(struct fown_struct *fown)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/