Message type for PM_SRV_KILL

Change-Id: I2d74b68db2d006dd375732a7932f20c2cf6a342a
This commit is contained in:
Lionel Sambuc 2014-05-13 18:50:59 +02:00
parent 9a4c1520cf
commit dbfa59164b
3 changed files with 13 additions and 3 deletions

View file

@ -647,6 +647,14 @@ typedef struct {
} mess_rs_pm_exec_restart; } mess_rs_pm_exec_restart;
_ASSERT_MSG_SIZE(mess_rs_pm_exec_restart); _ASSERT_MSG_SIZE(mess_rs_pm_exec_restart);
typedef struct {
pid_t pid;
int nr;
uint8_t padding[48];
} mess_rs_pm_srv_kill;
_ASSERT_MSG_SIZE(mess_rs_pm_srv_kill);
typedef struct { typedef struct {
dev_t device; dev_t device;
off_t seek_pos; off_t seek_pos;
@ -1163,6 +1171,7 @@ typedef struct {
mess_pm_lsys_getprocnr m_pm_lsys_getprocnr; mess_pm_lsys_getprocnr m_pm_lsys_getprocnr;
mess_rs_pm_exec_restart m_rs_pm_exec_restart; mess_rs_pm_exec_restart m_rs_pm_exec_restart;
mess_rs_pm_srv_kill m_rs_pm_srv_kill;
mess_vfs_fs_breadwrite m_vfs_fs_breadwrite; mess_vfs_fs_breadwrite m_vfs_fs_breadwrite;
mess_vfs_fs_chmod m_vfs_fs_chmod; mess_vfs_fs_chmod m_vfs_fs_chmod;

View file

@ -8,7 +8,7 @@ srv_kill(pid_t pid, int sig)
message m; message m;
memset(&m, 0, sizeof(m)); memset(&m, 0, sizeof(m));
m.PM_SIG_PID = pid; m.m_rs_pm_srv_kill.pid = pid;
m.PM_SIG_NR = sig; m.m_rs_pm_srv_kill.nr = sig;
return _taskcall(PM_PROC_NR, PM_SRV_KILL, &m); return _taskcall(PM_PROC_NR, PM_SRV_KILL, &m);
} }

View file

@ -216,7 +216,8 @@ int do_srv_kill(void)
* to a system process. RS sends a SIGKILL when it wants to perform cleanup. * to a system process. RS sends a SIGKILL when it wants to perform cleanup.
* In that case, ksig == TRUE forces PM to exit the process immediately. * In that case, ksig == TRUE forces PM to exit the process immediately.
*/ */
return check_sig(m_in.PM_SIG_PID, m_in.PM_SIG_NR, TRUE /* ksig */); return check_sig(m_in.m_rs_pm_srv_kill.pid, m_in.m_rs_pm_srv_kill.nr,
TRUE /* ksig */);
} }
/*===========================================================================* /*===========================================================================*