Function report | 
Source Code:kernel\exit.c | 
Create Date:2022-07-28 09:02:43 | 
| Last Modify:2020-03-17 11:17:32 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Determine if a process group is "orphaned", according to the POSIX* definition in 2
Proto:static int will_become_orphaned_pgrp(struct pid *pgrp, struct task_struct *ignored_task)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct pid * | pgrp | |
| struct task_struct * | ignored_task | 
| 275 | Do | 
| 275 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first)))));Else __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first)))));Do{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first)))) * )(________p1));}))____ptr = (({ | 
| 275 | typeof(( * ((struct hlist_node * * )( & ( & (pgrp)-> lists of tasks that use this pid [PIDTYPE_PGID])->first))))________p1 = ({ | 
| 275 | union{typeof(( * ((structhlist_node * * )( & first)))) __val;char __c[1];}__u | 
| 275 | If 1 Then __read_once_size( & (( * ((structhlist_node * * )( & first)))), __c, size of *first ) | 
| 275 | Else __read_once_size_nocheck( & (( * ((structhlist_node * * )( & first)))), __c, size of *first ) | 
| 275 | Do | 
| 275 | When 0 cycle | 
| 275 | __val | 
| 275 | }) | 
| 275 | })) | 
| 275 | ____ptr ? ({ | 
| 275 | }) : NULL | 
| 275 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next)))));Else __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next)))));Do{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next)))) * )(________p1));}))____ptr = (({ | 
| 275 | typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[PIDTYPE_PGID])->next))))________p1 = ({ | 
| 275 | union{typeof(( * ((structhlist_node * * )( & next)))) __val;char __c[1];}__u | 
| 275 | If 1 Then __read_once_size( & (( * ((structhlist_node * * )( & next)))), __c, size of *next ) | 
| 275 | Else __read_once_size_nocheck( & (( * ((structhlist_node * * )( & next)))), __c, size of *next ) | 
| 275 | Do | 
| 275 | When 0 cycle | 
| 275 | __val | 
| 275 | }) | 
| 275 | })) | 
| 275 | ____ptr ? ({ | 
| 275 | }) : NULL | 
| 275 | })) | 
| 284 | If PIDTYPE_PGID == PIDTYPE_PID Then Break | 
| 284 | When 0 cycle | 
| 286 | Return 1 | 
| Name | Describe | 
|---|---|
| is_current_pgrp_orphaned | |
| kill_orphaned_pgrp | Check to see if any process groups have become orphaned as* a result of our exiting, and if they have any stopped jobs,* send them a SIGHUP and then a SIGCONT. (POSIX 3.2.2.2) | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |