Lines Matching defs:spcb
219 LosTaskCB *spcb = NULL;
225 spcb = OsCurrTaskGet();
228 *(sigset_t *)oldsetl = spcb->sig.sigprocmask;
239 spcb->sig.sigprocmask |= set;
245 spcb->sig.sigprocmask &= ~(set);
249 spcb->sig.sigprocmask = set;
256 OsSigMaskSwitch(spcb, spcb->sig.sigprocmask);
263 int OsSigProcessForeachChild(LosProcessCB *spcb, ForEachTaskCB handler, void *arg)
269 LOS_DL_LIST_FOR_EACH_ENTRY(taskCB, &(spcb->threadSiblingList), LosTaskCB, threadList) {
345 int OsSigProcessSend(LosProcessCB *spcb, siginfo_t *sigInfo)
362 OsSigAddSet(&spcb->sigShare, info.sigInfo->si_signo);
363 (void)OsSigProcessForeachChild(spcb, SigProcessKillSigHandler, &info);
366 ret = OsSigProcessForeachChild(spcb, SigProcessSignalHandler, &info);
382 static int OsSignalPermissionToCheck(const LosProcessCB *spcb)
384 UINTPTR gid = (UINTPTR)OS_GET_PGROUP_LEADER(spcb->pgroup);
394 STATIC int SendSigPermissionCheck(LosProcessCB *spcb, int permission)
396 if (spcb == NULL) {
400 if (OsProcessIsUnused(spcb)) {
408 if ((current != spcb) && (!IsCapPermit(CAP_KILL)) && (current->user->userID != spcb->user->userID)) {
413 if ((permission == OS_USER_KILL_PERMISSION) && (OsSignalPermissionToCheck(spcb) < 0)) {
419 int OsSendSigToProcess(LosProcessCB *spcb, int sig, int permission)
422 int ret = SendSigPermissionCheck(spcb, permission);
428 if (OsProcessIsInactive(spcb)) {
440 return OsSigProcessSend(spcb, &info);
449 LosProcessCB *spcb = OS_PCB_FROM_PID(pid);
450 int ret = SendSigPermissionCheck(spcb, permission);
456 if (OsProcessIsInactive(spcb)) {
460 return OsSigProcessSend(spcb, info);
633 LosTaskCB *spcb = NULL;
636 spcb = OsCurrTaskGet();
637 oldSigprocmask = spcb->sig.sigprocmask;