// File: /workspace/github_c_makefile_star2_O1/wahern[P]cqueues/src/cqueues.c
// Function: cqueue_pause
static int cqueue_pause(lua_State *L) {
	struct cqueue *Q = cqueue_checkself(L, 1);
	sigset_t block;
	fd_set rfds;
	int index, error;

	if ((error = cqs_sigmask(SIG_SETMASK, NULL, &block)))
		goto error;

	for (index = 2; index <= lua_gettop(L); index++) {
		sigdelset(&block, luaL_checkint(L, index));
	}

	/* FD_SETSIZE unsigned on FreeBSD. */
	if (Q->kp.fd < 0 || Q->kp.fd >= (int)FD_SETSIZE)
		return luaL_error(L, "cqueue:pause: fd %d outside allowable range 0..%d", Q->kp.fd, (int)(FD_SETSIZE - 1));

	FD_ZERO(&rfds);
	FD_SET(Q->kp.fd, &rfds);

	if (-1 == cqs_pselect(Q->kp.fd + 1, &rfds, NULL, NULL, f2ts(cqueue_timeout_(Q)), &block, &error)) {
		if (error != EINTR)
			goto error;
	}

	return 0;
error:
	return luaL_error(L, "cqueue:pause: %s", cqs_strerror(error));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1b0, %rsp            # imm = 0x1B0
movq %rdi, %rbx
callq 0x12e12
movq %rax, %r12
leaq 0xb0(%rsp), %r14
movq %r14, %rdi
callq 0x10010
movl $0x2, %edi
xorl %esi, %esi
movq %r14, %rdx
callq 0xf350
movl %eax, %ebp
testl %eax, %eax
jne 0x12861
movq %rbx, %rdi
callq 0xf920
cmpl $0x2, %eax
jl 0x126d7
movl $0x1, %r14d
leaq 0xb0(%rsp), %r15
incl %r14d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x10a60
movq %r15, %rdi
movl %eax, %esi
callq 0x10060
movq %rbx, %rdi
callq 0xf920
cmpl %eax, %r14d
jl 0x126b2
movl (%r12), %ecx
cmpq $0x3ff, %rcx            # imm = 0x3FF
ja 0x128b4
xorpd %xmm0, %xmm0
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movapd %xmm0, 0x80(%rsp)
movapd %xmm0, 0x70(%rsp)
movapd %xmm0, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movapd %xmm0, 0x40(%rsp)
movapd %xmm0, 0x30(%rsp)
movl $0x1, %eax
shlq %cl, %rax
movl %ecx, %edx
shrl $0x6, %edx
orq %rax, 0x30(%rsp,%rdx,8)
leal 0x1(%rcx), %r15d
leaq 0x10(%rsp), %r14
movapd %xmm0, (%r14)
movq %r12, %rdi
callq 0x129e2
movsd %xmm0, 0x28(%rsp)
callq 0xf060
cmpl $0x2, %eax
je 0x12813
cmpl $0x3, %eax
je 0x127e2
cmpl $0x4, %eax
jne 0x127f6
movq 0x28(%rsp), %xmm0
movq %xmm0, %rax
testq %rax, %rax
js 0x12813
leaq 0x8(%rsp), %rdi
callq 0x10830
mulsd 0x2288b(%rip), %xmm0    # 0x35020
callq 0xf1c0
ucomisd 0x2287e(%rip), %xmm0    # 0x35020
jb 0x127bc
movsd 0x8(%rsp), %xmm0
addsd 0x22876(%rip), %xmm0    # 0x35028
movsd %xmm0, 0x8(%rsp)
xorpd %xmm0, %xmm0
movsd 0x8(%rsp), %xmm1
ucomisd 0x22866(%rip), %xmm1    # 0x35030
jae 0x127fb
cvttsd2si %xmm1, %rax
movq %rax, 0x10(%rsp)
cvttsd2si %xmm0, %rax
movq %rax, 0x18(%rsp)
jmp 0x12813
movq $0x0, 0x10(%rsp)
movq $0x1, 0x18(%rsp)
jmp 0x12813
xorl %r14d, %r14d
jmp 0x12813
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
leaq 0x30(%rsp), %rsi
leaq 0xb0(%rsp), %r9
movl %r15d, %edi
xorl %edx, %edx
xorl %ecx, %ecx
movq %r14, %r8
callq 0xfe20
movl %eax, %r14d
cmpl $-0x1, %eax
jne 0x1283e
callq 0xf0a0
movl (%rax), %ebp
cmpl $-0x1, %r14d
sete %al
cmpl $0x4, %ebp
setne %cl
testb %cl, %al
jne 0x12861
xorl %eax, %eax
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
xorpd %xmm0, %xmm0
leaq 0x130(%rsp), %rsi
movapd %xmm0, 0x70(%rsi)
movapd %xmm0, 0x60(%rsi)
movapd %xmm0, 0x50(%rsi)
movapd %xmm0, 0x40(%rsi)
movapd %xmm0, 0x30(%rsi)
movapd %xmm0, 0x20(%rsi)
movapd %xmm0, 0x10(%rsi)
movapd %xmm0, (%rsi)
movl $0x80, %edx
movl %ebp, %edi
callq 0xf250
leaq 0x22bf6(%rip), %rsi     # 0x3549d
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xfd60
leaq 0x22bb0(%rip), %rsi     # 0x3546b
movq %rbx, %rdi
movl %ecx, %edx
movl $0x3ff, %ecx            # imm = 0x3FF
xorl %eax, %eax
callq 0xfd60