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/

Reply via email to