130bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin#!/bin/sh 238a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 330bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin# Check rt_sigprocmask and sigreturn/rt_sigreturn decoding. 438a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 58df07e10395552076ab1ebb9c806f0c47c5c7bedDmitry V. Levin# Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org> 638a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# All rights reserved. 738a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 838a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# Redistribution and use in source and binary forms, with or without 938a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# modification, are permitted provided that the following conditions 1038a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# are met: 1138a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 1. Redistributions of source code must retain the above copyright 1238a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# notice, this list of conditions and the following disclaimer. 1338a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 2. Redistributions in binary form must reproduce the above copyright 1438a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# notice, this list of conditions and the following disclaimer in the 1538a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# documentation and/or other materials provided with the distribution. 1638a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 3. The name of the author may not be used to endorse or promote products 1738a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# derived from this software without specific prior written permission. 1838a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# 1938a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2038a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 2138a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2238a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2338a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2438a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2538a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2638a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2738a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2838a34c9349267c99ce1ddbd0b6e985147415d355Dmitry V. Levin# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2930bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin 3030bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin. "${srcdir=.}/init.sh" 3130bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin 328f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levinrun_prog 338f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levinrun_strace -esignal $args 3430bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin 358df07e10395552076ab1ebb9c806f0c47c5c7bedDmitry V. Levinmask='\[(USR2 CHLD|CHLD USR2) RT_3 RT_4 RT_5 RT_26 RT_27\]' 3630bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levinrt_sigprocmask='rt_sigprocmask\(SIG_SETMASK, '"$mask"', NULL, [[:digit:]]+\) += 0' 3730bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levinosf_sigprocmask='osf_sigprocmask\(SIG_SETMASK, '"$mask"'\) += 0 +\(old mask \[[^]]*\]\)' 388f54664d68f5f39098e448815fefe69762b4672aDmitry V. LevinEXPECTED="$LOG.expected" 398f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levin 408f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levincat > "$EXPECTED" << __EOF__ 418f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levin$rt_sigprocmask|$osf_sigprocmask 428f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levin(rt_)?sigreturn\\((\\{mask=$mask\\})?\\) += 0 438f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levin__EOF__ 4430bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin 458f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levinmatch_grep "$LOG" "$EXPECTED" 468f54664d68f5f39098e448815fefe69762b4672aDmitry V. Levinrm -f "$EXPECTED" 4730bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levin 4830bcb792cf3d26f915c88317d687a8ae838ecf0cDmitry V. Levinexit 0 49