aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h108
1 files changed, 98 insertions, 10 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 47cf81d62047..77e8cad3b17a 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1188,16 +1188,6 @@ static inline int rt_task(struct task_struct *p)
1188 return rt_prio(p->prio); 1188 return rt_prio(p->prio);
1189} 1189}
1190 1190
1191static inline pid_t task_pgrp_nr(struct task_struct *tsk)
1192{
1193 return tsk->signal->pgrp;
1194}
1195
1196static inline pid_t task_session_nr(struct task_struct *tsk)
1197{
1198 return tsk->signal->__session;
1199}
1200
1201static inline void set_task_session(struct task_struct *tsk, pid_t session) 1191static inline void set_task_session(struct task_struct *tsk, pid_t session)
1202{ 1192{
1203 tsk->signal->__session = session; 1193 tsk->signal->__session = session;
@@ -1223,6 +1213,104 @@ static inline struct pid *task_session(struct task_struct *task)
1223 return task->group_leader->pids[PIDTYPE_SID].pid; 1213 return task->group_leader->pids[PIDTYPE_SID].pid;
1224} 1214}
1225 1215
1216struct pid_namespace;
1217
1218/*
1219 * the helpers to get the task's different pids as they are seen
1220 * from various namespaces
1221 *
1222 * task_xid_nr() : global id, i.e. the id seen from the init namespace;
1223 * task_xid_vnr() : virtual id, i.e. the id seen from the namespace the task
1224 * belongs to. this only makes sence when called in the
1225 * context of the task that belongs to the same namespace;
1226 * task_xid_nr_ns() : id seen from the ns specified;
1227 *
1228 * set_task_vxid() : assigns a virtual id to a task;
1229 *
1230 * task_ppid_nr_ns() : the parent's id as seen from the namespace specified.
1231 * the result depends on the namespace and whether the
1232 * task in question is the namespace's init. e.g. for the
1233 * namespace's init this will return 0 when called from
1234 * the namespace of this init, or appropriate id otherwise.
1235 *
1236 *
1237 * see also pid_nr() etc in include/linux/pid.h
1238 */
1239
1240static inline pid_t task_pid_nr(struct task_struct *tsk)
1241{
1242 return tsk->pid;
1243}
1244
1245static inline pid_t task_pid_nr_ns(struct task_struct *tsk,
1246 struct pid_namespace *ns)
1247{
1248 return pid_nr_ns(task_pid(tsk), ns);
1249}
1250
1251static inline pid_t task_pid_vnr(struct task_struct *tsk)
1252{
1253 return pid_vnr(task_pid(tsk));
1254}
1255
1256
1257static inline pid_t task_tgid_nr(struct task_struct *tsk)
1258{
1259 return tsk->tgid;
1260}
1261
1262static inline pid_t task_tgid_nr_ns(struct task_struct *tsk,
1263 struct pid_namespace *ns)
1264{
1265 return pid_nr_ns(task_tgid(tsk), ns);
1266}
1267
1268static inline pid_t task_tgid_vnr(struct task_struct *tsk)
1269{
1270 return pid_vnr(task_tgid(tsk));
1271}
1272
1273
1274static inline pid_t task_pgrp_nr(struct task_struct *tsk)
1275{
1276 return tsk->signal->pgrp;
1277}
1278
1279static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk,
1280 struct pid_namespace *ns)
1281{
1282 return pid_nr_ns(task_pgrp(tsk), ns);
1283}
1284
1285static inline pid_t task_pgrp_vnr(struct task_struct *tsk)
1286{
1287 return pid_vnr(task_pgrp(tsk));
1288}
1289
1290
1291static inline pid_t task_session_nr(struct task_struct *tsk)
1292{
1293 return tsk->signal->__session;
1294}
1295
1296static inline pid_t task_session_nr_ns(struct task_struct *tsk,
1297 struct pid_namespace *ns)
1298{
1299 return pid_nr_ns(task_session(tsk), ns);
1300}
1301
1302static inline pid_t task_session_vnr(struct task_struct *tsk)
1303{
1304 return pid_vnr(task_session(tsk));
1305}
1306
1307
1308static inline pid_t task_ppid_nr_ns(struct task_struct *tsk,
1309 struct pid_namespace *ns)
1310{
1311 return pid_nr_ns(task_pid(rcu_dereference(tsk->real_parent)), ns);
1312}
1313
1226/** 1314/**
1227 * pid_alive - check that a task structure is not stale 1315 * pid_alive - check that a task structure is not stale
1228 * @p: Task structure to be checked. 1316 * @p: Task structure to be checked.