Function report |
Source Code:fs\fcntl.c |
Create Date:2022-07-28 20:06:04 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:send_sigurg
Proto:int send_sigurg(struct fown_struct *fown)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct fown_struct * | fown |
820 | ret = 0 |
822 | read_lock( & protects pid, uid, euid fields ) |
826 | If Not pid Then Go to out_unlock_fown |
829 | ret = 1 |
831 | If type <= PIDTYPE_TGID Then |
833 | p = pid_task(pid, PIDTYPE_PID) |
834 | If p Then send_sigurg_to_task(p, fown, type) |
837 | Else |
838 | read_lock( & tasklist_lock) |
839 | Do |
839 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first)))));Else __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first)))));Do{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first)))) * )(________p1));}))____ptr = (({ |
839 | typeof(( * ((struct hlist_node * * )( & ( & (pid)-> lists of tasks that use this pid [type])->first))))________p1 = ({ |
839 | union{typeof(( * ((structhlist_node * * )( & first)))) __val;char __c[1];}__u |
839 | If 1 Then __read_once_size( & (( * ((structhlist_node * * )( & first)))), __c, size of *first ) |
839 | Else __read_once_size_nocheck( & (( * ((structhlist_node * * )( & first)))), __c, size of *first ) |
839 | Do |
839 | When 0 cycle |
839 | __val |
839 | }) |
839 | })) |
839 | ____ptr ? ({ |
839 | }) : NULL |
839 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))));Else __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))));Do{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))) * )(________p1));}))____ptr = (({ |
839 | typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))________p1 = ({ |
839 | union{typeof(( * ((structhlist_node * * )( & next)))) __val;char __c[1];}__u |
839 | If 1 Then __read_once_size( & (( * ((structhlist_node * * )( & next)))), __c, size of *next ) |
839 | Else __read_once_size_nocheck( & (( * ((structhlist_node * * )( & next)))), __c, size of *next ) |
839 | Do |
839 | When 0 cycle |
839 | __val |
839 | }) |
839 | })) |
839 | ____ptr ? ({ |
839 | }) : NULL |
839 | })) |
840 | send_sigurg_to_task(p, fown, type) |
841 | If type == PIDTYPE_PID Then Break |
841 | When 0 cycle |
842 | read_unlock( & tasklist_lock) |
844 | out_unlock_fown : |
846 | Return ret |
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 |