140a8ac8fSEnji Cooper#!/bin/sh 2*3416500aSEnji Cooper# vim: filetype=sh noexpandtab ts=8 sw=8 340a8ac8fSEnji Cooper# $FreeBSD: head/tools/regression/pjdfstest/tests/open/20.t 211352 2010-08-15 21:24:17Z pjd $ 440a8ac8fSEnji Cooper 540a8ac8fSEnji Cooperdesc="open returns ETXTBSY when the file is a pure procedure (shared text) file that is being executed and the open() system call requests write access" 640a8ac8fSEnji Cooper 740a8ac8fSEnji Cooperdir=`dirname $0` 840a8ac8fSEnji Cooper. ${dir}/../misc.sh 940a8ac8fSEnji Cooper 1040a8ac8fSEnji Cooper[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit 11*3416500aSEnji Coopernoexec && quick_exit 1240a8ac8fSEnji Cooper 1345dc13f1SEnji Cooperrequires_exec 1445dc13f1SEnji Cooper 1540a8ac8fSEnji Cooperecho "1..4" 1640a8ac8fSEnji Cooper 1740a8ac8fSEnji Coopern0=`namegen` 1840a8ac8fSEnji Cooper 1940a8ac8fSEnji Coopercp -pf `which sleep` ${n0} 2040a8ac8fSEnji Cooper./${n0} 3 & 21f95c930eSEnji Cooperwhile ! pkill -0 -f ./${n0}; do 22f95c930eSEnji Cooper sleep 0.1 23f95c930eSEnji Cooperdone 2440a8ac8fSEnji Cooperexpect ETXTBSY open ${n0} O_WRONLY 2540a8ac8fSEnji Cooperexpect ETXTBSY open ${n0} O_RDWR 2640a8ac8fSEnji Cooperexpect ETXTBSY open ${n0} O_RDONLY,O_TRUNC 27f95c930eSEnji Cooperpkill -9 -f ./${n0} 2840a8ac8fSEnji Cooperexpect 0 unlink ${n0} 29