]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for SIGS_SIGNAL_RECEIVED.
authorLionel Sambuc <lionel@minix3.org>
Fri, 25 Jul 2014 14:08:01 +0000 (16:08 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:06:25 +0000 (17:06 +0200)
Change-Id: I5c13ff06e0203a98d4087829308d03020f302542

include/minix/com.h
include/minix/ipc.h
lib/libsys/sef_signal.c
servers/pm/signal.c
servers/rs/main.c

index f9cb110ed57cc5eee0ef3f874817487e6bb505ff..2f85d774f8c9cabd3960cde881a10e95b340cadd 100644 (file)
 
 /* Field names for system signals (sent by a signal manager). */
 #define SIGS_SIGNAL_RECEIVED (COMMON_RQ_BASE+0)
-#      define SIGS_SIG_NUM      m2_i1
 
 /* Common request to all processes: gcov data. */
 #define COMMON_REQ_GCOV_DATA (COMMON_RQ_BASE+1)
index 4f3e876077ab5feeb76178b46c472ebfab245c3e..aa46868e1e8e91d225fe4adb7895befa1bdedb14 100644 (file)
@@ -124,6 +124,13 @@ typedef struct {
 } mess_lsys_krn_readbios;
 _ASSERT_MSG_SIZE(mess_lsys_krn_readbios);
 
+typedef struct {
+       int num;
+
+       uint8_t padding[52];
+} mess_pm_lsys_sigs_signal;
+_ASSERT_MSG_SIZE(mess_pm_lsys_sigs_signal);
+
 typedef struct {
        off_t offset;
        void *addr;
@@ -1962,6 +1969,7 @@ typedef struct {
                mess_sigcalls           m_sigcalls;
 
                mess_lsys_krn_readbios  m_lsys_krn_readbios;
+               mess_pm_lsys_sigs_signal m_pm_lsys_sigs_signal;
                mess_input_tty_event    m_input_tty_event;
 
                mess_krn_lsys_schedule  m_krn_lsys_schedule;
index d26ec47fe9806de6298a7ec5009ec8dfac57f340..0a904ee08c514dc79011c9aaf12604d8662ae15f 100644 (file)
@@ -114,7 +114,7 @@ int do_sef_signal_request(message *m_ptr)
   }
   else {
       /* Handle system signals from a signal manager. */
-      signo = m_ptr->SIGS_SIG_NUM;
+      signo = m_ptr->m_pm_lsys_sigs_signal.num;
 
       /* Debug. */
 #if SEF_SIGNAL_DEBUG
index 304fd60856d3a05c4319fe1a3096e7967017f1ca..6c18f3f1864084f0a66ed854917d3b65bff748d8 100644 (file)
@@ -464,7 +464,7 @@ int ksig;                   /* non-zero means signal comes from kernel  */
                /* Translate every non-termination sys signal into a message. */
                message m;
                m.m_type = SIGS_SIGNAL_RECEIVED;
-               m.SIGS_SIG_NUM = signo;
+               m.m_pm_lsys_sigs_signal.num = signo;
                asynsend3(rmp->mp_endpoint, &m, AMF_NOREPLY);
        }
        else {
index 5c5cd154fb6e67f6cf64322b902bf281bbcedb66..6b7e032a7457417090a1de73a8e65a0d9d73911f 100644 (file)
@@ -545,7 +545,7 @@ static int sef_cb_signal_manager(endpoint_t target, int signo)
 
   /* Translate every non-termination signal into a message. */
   m.m_type = SIGS_SIGNAL_RECEIVED;
-  m.SIGS_SIG_NUM = signo;
+  m.m_pm_lsys_sigs_signal.num = signo;
   asynsend3(rpub->endpoint, &m, AMF_NOREPLY);
 
   return OK; /* signal has been delivered */