• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 static void
arch_sigreturn(struct tcb * tcp)2 arch_sigreturn(struct tcb *tcp)
3 {
4 	unsigned long addr;
5 
6 	/* Fetch pointer to struct sigcontext.  */
7 	if (umove(tcp, *m68k_usp_ptr + 2 * sizeof(int), &addr) < 0)
8 		return;
9 
10 	unsigned long mask[NSIG_BYTES / sizeof(long)];
11 	/* Fetch first word of signal mask.  */
12 	if (umove(tcp, addr, &mask[0]) < 0)
13 		return;
14 
15 	/* Fetch remaining words of signal mask, located immediately before.  */
16 	addr -= sizeof(mask) - sizeof(long);
17 	if (umoven(tcp, addr, sizeof(mask) - sizeof(long), &mask[1]) < 0)
18 		return;
19 
20 	tprintsigmask_addr("{mask=", mask);
21 	tprints("}");
22 }
23