[PATCH 2.6.13-rc1-mm1] connector: Remove the union declaration

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

 



Hello,

 This patch removes the ugly union declaration in cn_fork.h and
cn_exit.h files. The code is cleaner without the union and the price is
only four bytes added in the structure.

 Thanks to Alexander Nyberg for reporting this.

Signed-off-by: Guillaume Thouvenin <[email protected]>

---
 drivers/connector/cn_exit.c |    8 ++++----
 drivers/connector/cn_fork.c |   10 +++++-----
 include/linux/cn_exit.h     |   16 ++++++++--------
 include/linux/cn_fork.h     |   18 +++++++++---------
 4 files changed, 26 insertions(+), 26 deletions(-)


Index: linux-2.6.13-rc1-mm1/drivers/connector/cn_exit.c
===================================================================
--- linux-2.6.13-rc1-mm1.orig/drivers/connector/cn_exit.c	2005-07-04 14:20:59.000000000 +0200
+++ linux-2.6.13-rc1-mm1/drivers/connector/cn_exit.c	2005-07-04 14:36:47.000000000 +0200
@@ -73,9 +73,9 @@ void exit_connector(pid_t pid, pid_t pti
 		exitmsg = (struct cn_exit_msg *)msg->data;
 		exitmsg->type = EXIT_CN_MSG_P;
 		exitmsg->cpu = smp_processor_id();
-		exitmsg->u.s.pid = pid;
-		exitmsg->u.s.ptid = ptid;
-		exitmsg->u.s.code = code;
+		exitmsg->pid = pid;
+		exitmsg->ptid = ptid;
+		exitmsg->code = code;
 
 		put_cpu_var(exit_counts);
 
@@ -107,7 +107,7 @@ static inline void cn_exit_send_status(v
 	msg->len = CN_EXIT_INFO_SIZE;
 	exitmsg = (struct cn_exit_msg *)msg->data;
 	exitmsg->type = EXIT_CN_MSG_S;
-	exitmsg->u.status = cn_exit_enable;
+	exitmsg->status = cn_exit_enable;
 
 	cn_netlink_send(msg, CN_IDX_EXIT, GFP_KERNEL);
 }
Index: linux-2.6.13-rc1-mm1/drivers/connector/cn_fork.c
===================================================================
--- linux-2.6.13-rc1-mm1.orig/drivers/connector/cn_fork.c	2005-07-04 14:20:59.000000000 +0200
+++ linux-2.6.13-rc1-mm1/drivers/connector/cn_fork.c	2005-07-04 14:36:50.000000000 +0200
@@ -72,10 +72,10 @@ void fork_connector(pid_t ppid, pid_t pt
 		forkmsg = (struct cn_fork_msg *)msg->data;
 		forkmsg->type = FORK_CN_MSG_P;
 		forkmsg->cpu = smp_processor_id();
-		forkmsg->u.s.ppid = ppid;
-		forkmsg->u.s.ptid = ptid;
-		forkmsg->u.s.cpid = cpid;
-		forkmsg->u.s.ctid = ctid;
+		forkmsg->ppid = ppid;
+		forkmsg->ptid = ptid;
+		forkmsg->cpid = cpid;
+		forkmsg->ctid = ctid;
 
 		put_cpu_var(fork_counts);
 
@@ -107,7 +107,7 @@ static inline void cn_fork_send_status(v
 	msg->len = CN_FORK_INFO_SIZE;
 	forkmsg = (struct cn_fork_msg *)msg->data;
 	forkmsg->type = FORK_CN_MSG_S;
-	forkmsg->u.status = cn_fork_enable;
+	forkmsg->status = cn_fork_enable;
 
 	cn_netlink_send(msg, CN_IDX_FORK, GFP_KERNEL);
 }
Index: linux-2.6.13-rc1-mm1/include/linux/cn_exit.h
===================================================================
--- linux-2.6.13-rc1-mm1.orig/include/linux/cn_exit.h	2005-07-04 14:21:05.000000000 +0200
+++ linux-2.6.13-rc1-mm1/include/linux/cn_exit.h	2005-07-04 14:42:11.000000000 +0200
@@ -41,14 +41,14 @@ struct cn_exit_msg {
 	int type;	/* 0: information about processes
 			   1: exit connector's state      */
 	int cpu;	/* ID of the cpu where the exit occurred */
-	union {
-		struct {
-			pid_t pid;	/* process ID */
-			pid_t ptid;	/* process thread ID  */
-			pid_t code;	/* process exit code */
-		} s;
-		int status;
-	} u;
+	
+	/* Information about processes */
+	pid_t pid;	/* process ID */
+	pid_t ptid;	/* process thread ID  */
+	pid_t code;	/* process exit code */
+	
+	/* Exit connector's state */	
+	int status;
 };
 
 /* Code above is only inside the kernel */
Index: linux-2.6.13-rc1-mm1/include/linux/cn_fork.h
===================================================================
--- linux-2.6.13-rc1-mm1.orig/include/linux/cn_fork.h	2005-07-04 14:21:05.000000000 +0200
+++ linux-2.6.13-rc1-mm1/include/linux/cn_fork.h	2005-07-04 14:39:17.000000000 +0200
@@ -49,15 +49,15 @@ struct cn_fork_msg {
 	int type;	/* 0: information about processes
 			   1: fork connector's state      */
 	int cpu;	/* ID of the cpu where the fork occurred */
-	union {
-		struct {
-			pid_t ppid;	/* parent process ID */
-			pid_t ptid;	/* parent thread ID  */
-			pid_t cpid;	/* child process ID  */
-			pid_t ctid;	/* child thread ID   */
-		} s;
-		int status;
-	} u;
+
+	/* Information about processes */
+	pid_t ppid;	/* parent process ID */
+	pid_t ptid;	/* parent thread ID  */
+	pid_t cpid;	/* child process ID  */
+	pid_t ctid;	/* child thread ID   */
+	
+	/* fork connector's state */
+	int status;
 };
 
 /* Code above is only inside the kernel */
-
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